在获取选定的 NSTableView 的数据时,获取选定的行,并将其与数据源中相同位置的项目进行比较。
但是,我正在从不同的 XML 文件中读取数据并根据屏幕上的某些选择显示它。
我想直接从 NSTableView 中获取用户选择的数据。
我知道这与 MVC 模型和所有这些背道而驰,但我希望得到有关如何执行此操作的答案或一些提示。
在获取选定的 NSTableView 的数据时,获取选定的行,并将其与数据源中相同位置的项目进行比较。
但是,我正在从不同的 XML 文件中读取数据并根据屏幕上的某些选择显示它。
我想直接从 NSTableView 中获取用户选择的数据。
我知道这与 MVC 模型和所有这些背道而驰,但我希望得到有关如何执行此操作的答案或一些提示。
表视图没有数据的内部缓存。数据源就是那个缓存。这就是重点。您必须从数据源获取数据。不过,这样做应该没有问题:[[tableView dataSource] tableView:tableView objectValueForTableColumn:theColumn row:theRow]
.
但是,当您说“即使没有定义正式(单个)数据源,也不知道 [it] 负责跟踪数据源”是什么意思?您的意思是您正在使用绑定而不是设置数据源?在那种情况下,我不会使用这种技术。在这种情况下,数据源的存在将是一个实现细节。对于绑定情况,您应该直接访问数组控制器。