要避免将此问题标记为重复:我已经看到了这个问题(Passing Data between View Controllers),但这是针对iOS的。我见过很多其他类似的问题,但它们都为IOS提供了答案。我的问题是针对OS-X应用程序。
是的,我确实在这里以及谷歌检查过,但我无法在OS-X中找到解决此问题的任何内容。
话虽如此,这是一个问题:
在我的一个NSViewControllers(MasterTableViewController)中,我有以下方法:
- (IBAction)tableViewDoubleClick:(id)sender {
NSInteger rowNumber = [_websitesTableView clickedRow];
NSTableColumn *column = [_websitesTableView tableColumnWithIdentifier:@"websiteUrl"];
NSCell *cell = [column dataCellForRow:rowNumber];
NSString *cellValue = [cell stringValue];
}
如何(应该)将此数据(rowNumber,cellValue)正确传递给另一个NSViewController(DetailViewController)?
答案 0 :(得分:1)
更高层次的答案是“不要”。您基本上使用表格单元格(UI项目)作为下一个控制器的数据模型,这可能有效但在应用程序变得复杂时非常容易出错。
您最好使用真实的数据模型对象来跟踪您在单元格中显示的信息。您发布的所有方法都必须告诉数据模型哪个项目现在是所选项目,并且下一个控制器出现时可以使用相同的信息。