我有一个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相当新,所以我担心我可能会遗漏一些比较明显的东西。
答案 0 :(得分:3)
你的字典是不可变的(这就是&lt; __ NSDictionaryI 0x10065e6c0&gt;中的“I”意思),所以当你试图改变它时,你就会收到错误消息。
答案 1 :(得分: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]);