Cocoa中的常规良好做法要求每个NSView
都应拥有自己的NSViewController
作为其拥有者。这应该适用于基于视图的NSTableView
的每一行,如果是这样,那么初始化和缓存这些NSViewControllers的好策略是什么?
答案 0 :(得分:2)
在大多数情况下,这将是矫枉过正。 每个 NSView
都不需要控制器。那些与模型层无关的视图 - 在这种情况下,调解器/控制器是不必要的?在一个大表中,这将导致可能不需要的控制器对象的扩散。
我会仔细查看文档中提供的TableViewPlayground示例项目。请注意该项目中Apple如何使用构成行的各种视图。特别是,请关注ATComplexTableViewController
类及其关联的nib文件。这里,表视图的dataSource
返回dataSource
本身作为视图和模型之间的中介的视图。