1

NSArrayControllerがあり、選択したオブジェクトの値を変更しようとしています。使ってます

[[[ideasListController selectedObjects] objectAtIndex:0] setValue:@"test" forKey:@"title"];

タイトルを変更しようとしましたが、これによりエラーが発生します。

[<__NSDictionaryI 0x10065e6c0> setValue:forUndefinedKey:]:
this class is not key value coding-compliant for the key title.

私はCocoaとObjective-Cにかなり慣れていないので、ここでかなり明白な何かを見逃しているのではないかと心配しています。

4

2 に答える 2

3

辞書は不変であるため(<__ NSDictionaryI 0x10065e6c0>の「I」の意味)、変更しようとするとエラーメッセージが表示されます。

于 2012-08-23T04:37:30.627 に答える
2

これを試して:

[ideasListController insertObject:[NSDictionary dictionaryWithObject:@"test" forKey:@"title"] atArrangedObjectIndex:0];

アップデート:

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];

[dict setObject:[NSString stringWithFormat:@"test"] forKey:@"title"];

[ideasListController insertObject:dict atArrangedObjectIndex:0];

[dict release];

NSLog(@"%@", [[ideasListController selectedObjects] objectAtIndex:0]);
于 2012-08-23T00:13:42.770 に答える