我有一个两列 NSTableView,我想用从 CSV 文件中抓取的条目来填充它。除了未设置每个表格单元格的标题外,一切正常。
这是为 NSArray 中的每一行调用的函数
- (void)populateTable:(NSString *)fname :(NSString *)lname {
NSMutableDictionary *value = [[NSMutableDictionary alloc] init];
[value setObject:[NSString stringWithFormat:@"%@", fname] forKey:@"first_name"];
[value setObject:[NSString stringWithFormat:@"%@", lname] forKey:@"last_name"];
[arrayController addObject:value];
[value release];
[fname_list reloadData];
[lname_list reloadData];
}
"last name" 列的值绑定到 Array Controller排列对象.last_name 并且 "first_name" 和 "last_name" 都被列为Array Controller > Object Controller > Keys列表中的键
创建了适当数量的表格单元格(CSV 文件中的 3 个条目 = 每列中的 3 行),但未设置每个单元格的标题(根据列设置为“first_name”或“last_name”) ; 单元格的标题仍然是“表格视图单元格”
编辑:
使用 navinsillu 的更改后,我最终得到以下功能:
- (void)populateTable:(id)sender :(NSString *)fname :(NSString *)lname {
[arrayController insert:sender];
[[[self arrayController] selection] setValue:fname forKeyPath:@"first_name"];
[[[self arrayController] selection] setValue:lname forKeyPath:@"last_name"];
[fname_list reloadData];
[lname_list reloadData];
}
在我的标题中,我有
@property (retain,nonatomic,readwrite) IBOutlet NSArrayController *arrayController;
但我仍然得到相同的结果:每个表格列中有 3 行/单元格,所有标题为“表格视图单元格”
编辑:
经过一番检查,我注意到表列Model Key Path
的Value
绑定下没有任何条目。当我输入first_name或last_name时,即使键列在数组控制器的列表中,它也会显示未找到完成。Keys
不幸的是,我不知道为什么它没有找到钥匙。
编辑:
奇怪的。我尝试删除和添加表视图和数组控制器,但没有奏效。但是,创建一个新项目并执行完全相同的操作会产生预期的结果。