我有一个两列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];
}
“姓氏”列的值绑定到阵列控制器 arrangeObjects.last_name ,“first_name”和“last_name”都列为阵列控制器&gt;中的键。 <对象控制器>密钥列表
创建适当数量的表格单元格(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
列表中,也会显示未找到完成控制器。不幸的是,我不知道它为什么没找到钥匙。
修改
奇。我尝试删除并添加表视图和数组控制器,但这不起作用。但是,创建一个新项目并完成相同的操作会产生预期的结果。
答案 0 :(得分:0)
您可以在Interface Builder的表格标题中设置标题。您可以双击表格列标题并为其设置标题。
答案 1 :(得分:0)
以与我完全相同的方式重新创建项目会产生我期望发生的事情。我不确定为什么重做它都有效,但确实如此。