【发布时间】:2012-09-28 01:51:24
【问题描述】:
Cocoa 中通常的良好做法规定每个NSView 都应该拥有自己的NSViewController 作为其所有者。这应该适用于基于视图的NSTableView 的每一行吗?如果是,那么初始化和缓存这些 NSViewController 的好策略是什么?
【问题讨论】:
标签: cocoa nstableview nsview nsviewcontroller
Cocoa 中通常的良好做法规定每个NSView 都应该拥有自己的NSViewController 作为其所有者。这应该适用于基于视图的NSTableView 的每一行吗?如果是,那么初始化和缓存这些 NSViewController 的好策略是什么?
【问题讨论】:
标签: cocoa nstableview nsview nsviewcontroller
在大多数情况下,这将是矫枉过正。 每个 NSView 都不需要控制器。与模型层没有关系的视图呢?在这种情况下,不需要中介/控制器?在大表中,这会导致可能不需要的控制器对象激增。
我会仔细查看文档中提供的TableViewPlayground 示例项目。请注意该项目中 Apple 如何使用组成行的各种视图。特别要注意ATComplexTableViewController 类及其关联的 nib 文件。在这里,表视图的dataSource 返回视图,dataSource 本身充当视图和模型之间的中介。
【讨论】: