我有一个NSView,“ CurrentActionsView”,其中包含按钮,文本和一个NSTableView。 NSActionController类CurrentActionsViewController处理所有控件的初始化-NSTableView(“ myTableView”)除外,后者在.xib(“ myTableViewController”)中有自己的自定义类对象。那映射到一个简单的类:

@interface ActivationTableController : NSObject <NSTableViewDataSource, NSTableViewDelegate>


我的问题是这样的:

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

因为我目前在两个单独的文件中拥有这两个单独的控制器,所以当它需要重新初始化并重新加载表中的数据时,CurrentActionsView进入myTableViewController是一条复杂的路径。

最佳答案

我通常首先将视图控制器用作表视图的委托和数据源。这不是一个不好的起点。

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

如果确实将视图控制器设置为表视图委托和数据源,请注意不要将与表视图相关的代码与视图控制器的其余部分紧密结合在一起。到那时,将其提取可能会变得困难。

10-08 14:52