0

我目前正在考虑项目,它基本上是解释来自许多抽象数据源的数据。

所以应用程序内部的通信是这样的

[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 是NSTableViewNSOutlineViewNSCollectionView等。

所以我基本上需要更改列名、顺序、控件样式,......不可能为每个设计独特的 NSWindowData Source

现在的问题:

如果我需要动态 UI 创建和自定义数据处理逻辑(没有绑定到 Core Data 等),我应该(甚至可以)使用 InterfaceBuilder 还是应该以编程方式实现所有视图逻辑?

4

1 回答 1

3

使用任何你喜欢的。控制器可以表示/处理任何变化/动态区域。在某种程度上,这意味着我建议将动态部分移动到控制器的代码中——但如果您愿意,您仍然可以使用 XIB 进行常见的高级设计。

因此,当一个视图不适合单个数据表示而用于多个时,可以将实现/变体移至控制器域。当实现/定义适用于所有人时,您可以在 XIB 或程序中定义它——无论您喜欢放在哪里。在这种情况下,您可以将 XIB(或代码)用于不变(骨架)视图。

于 2012-06-09T21:50:10.200 回答