我有一个NSMutableArray填充了NSMutableDictionaries。所有这些数据都显示在NSTableView中。
问题是当我尝试编辑单元格时。我的tableview绑定到我的类与数据源绑定。并编辑单元格的值我使用此代码:
-(void)tableView:(NSTableView *)tableView setObjectValue:(id)object forTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row{
NSMutableDictionary *i = [list objectAtIndex:row];
NSString *identifier = [tableColumn identifier];
[i setValue:object forKey:identifier];
}
但它的错误:
2013-02-11 20:50:35.960 prog[424:303] Exception detected while handling key input.
2013-02-11 20:50:35.960 prog[424:303] [<__NSDictionaryI 0x105986580> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key filename.
2013-02-11 20:50:35.964 prog[424:303] (
我不知道为什么我收到此NSDictionaryI
错误。我正在使用NSMutableDictionary到处,即使我将字典添加到数组。任何帮助表示感谢。
答案 0 :(得分:0)
我认为
setValue:forUndefinedKey
表示您的tableColumn标识符有问题。检查Interface Builder中的set identifier和/或设置断点(或者只做一个NSLog(@“%@”,tableColumn.identifier);)
答案 1 :(得分:0)
我发现了问题!
当我向我的数组添加元素时,我正在使用COPY。删除它使它工作!
[myNSMutableArray addObject: myNSMutableDictionary];
在我使用之前
[myNSMutableArray addObject:copy myNSMutableDictionary];