如何从NSTableView获取数据?

时间:2010-02-07 20:22:08

标签: objective-c cocoa nstableview

我有一个NSTableView,其中包含两列和一个用数据填充的数据源。那部分有效。

如何从(NSString中获取数据NSTableView格式?我可以获取所选行,但NSTableView似乎没有访问数据的方法。

从我的数据源获取数据似乎返回无用数据(类型ID和NSLog()以及NSRunAlertPanel()都声称数据不属于NSString类型。

NSTableView获取数据的最简单方法是什么?

更新

原因是我的数据源中的数据失败的原因与NSString方法中NSArray的归属tableView()有关。

我的输入文件包含我为表格视图中的列拆分的行。 NSTableView获取正确的数据但是当我自己调用tableView()方法时,我遇到了 EXC_BAD_ACCESS 错误,我认为这与内存管理有关。

另一次更新:

这不是内存管理。我的应用程序无法识别它想要的NSTableColumn。我编写了第二种手动访问数据的方法,该方法使用int作为列,而不是NSTableColumn,并且有效。

1 个答案:

答案 0 :(得分:9)

使用您的表(视图)作为存储数据的位置(模型)违反了MVC范例。您应该能够以与表视图相同的方式从数据源获取值; tableView:objectValueForTableColumn:row:的代码用于获取数据的内容是什么?

如果您的表格是可编辑的,您将从表格视图调用tableView:setObjectValue:forTableColumn:row:,以便您可以适当地修改数据源。