我目前正在考虑项目,它基本上是解释来自许多抽象数据源的数据。
所以应用程序内部的通信是这样的
[UI] <-> [Controller / Delegate] <-> [Subclass of Abstract Data Source]
这基本上是 MVC 模式。我的问题是什么,每个[Subclass of Abstract Data Source]
人只能使用有限数量的[UI]
,所以流程基本上是这样的:
- 创建数据源 (DS) 实例
- 从 DS 获取可能的 UI 列表
- 创建 UI 选择器并实例化预设 UI
- 让 DS 修改 UI
- 通过预定义的处理程序方法从 DS 填充 UI
示例 UI 是NSTableView
、NSOutlineView
、NSCollectionView
等。
所以我基本上需要更改列名、顺序、控件样式,......不可能为每个设计独特的 NSWindowData Source
现在的问题:
如果我需要动态 UI 创建和自定义数据处理逻辑(没有绑定到 Core Data 等),我应该(甚至可以)使用 InterfaceBuilder 还是应该以编程方式实现所有视图逻辑?