无法编辑NSTableView中的表格单元格

时间:2013-02-08 18:10:44

标签: objective-c cocoa checkbox nstableview

我有一个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到处,即使我将字典添加到数组。任何帮助表示感谢。

2 个答案:

答案 0 :(得分:0)

我认为

setValue:forUndefinedKey

表示您的tableColumn标识符有问题。检查Interface Builder中的set identifier和/或设置断点(或者只做一个NSLog(@“%@”,tableColumn.identifier);)

答案 1 :(得分:0)

我发现了问题!

当我向我的数组添加元素时,我正在使用COPY。删除它使它工作!

[myNSMutableArray addObject: myNSMutableDictionary];

在我使用之前

[myNSMutableArray addObject:copy myNSMutableDictionary];