NSTableView 的 NSTableViewDataSource 和 NSTableViewDelegate 是否应该位于与 NSView 其余部分的控制器分开的 NSViewController 中?

Should an NSTableView's NSTableViewDataSource and NSTableViewDelegate be in a separate NSViewController from controller for rest of NSView?

我有一个 NSView,"CurrentActionsView",它包含按钮、文本和一个 NSTableView。 class,CurrentActionsViewController,它是一个 NSViewController,处理所有控件的初始化——除了 NSTableView ("myTableView"),它在 .xib 文件中有自己的自定义 class 对象("myTableViewController")。映射到 class 就是:

@interface ActivationTableController : NSObject <NSTableViewDataSource, NSTableViewDelegate>

我的问题是:

我是否应该将 NSTableViewDataSource 和 NSTableViewDelegate 添加到 CurrentActionsViewController class,它已经是一个 NSViewController,所以只有一个控制器负责处理 CurrentActionsView 中的所有对象?

因为我目前在两个单独的文件中有这两个单独的控制器,所以当 CurrentActionsView 需要在 table.[=11 中重新初始化和重新加载数据时,它到达 myTableViewController 的路径很复杂=]

我通常首先让视图控制器充当 table 视图的委托和数据源;这是一个不错的起点。

随着您的应用程序变得越来越复杂,您可能会发现您的视图控制器承担了太多责任,您可能希望提取出一个专门处理 NSTableView 的对象。

如果您确实将视图控制器设置为 table 视图委托和数据源,请注意不要将您的 table 视图相关代码与视图控制器的其余部分紧密耦合;到那时可能很难提取出来。