我正在构建一个基于单个视图控制器的简单日历应用程序。视图控制器的层次结构如下:
- CDViewController
- 日历视图
- 事件视图
- 议程视图
- TPKeyboardAvoidingTableView
- 事件信息单元
我的问题特别与我的 AgendaView 中的 EventInfoCell 相关。Cell 有多种布局 textFields 和 textViews 的方式,具体取决于需要显示的信息。这些文本字段和文本视图根据表格视图的编辑状态和编辑/删除核心数据对象启用/可编辑。当这些字符串中的字符串发生变化时,单元格需要提醒 managedObjectContext 保存或删除一个对象,更新议程视图中填充它的 tableView 的模型,并更新与日历的所有事件相关的模型。我当前的配置使 viewController 成为 EventInfoCell 的代表,但这会使议程视图模型的更新变得复杂。将 EventInfoCell 委托设置为 AgendaView 似乎几乎适得其反,在信息更改时告诉它,然后让 AgendaView 将这个词传递给它的委托(viewController),但如果它比完全绕过议程视图更符合 MVC,我会很乐意实现它。我试图弄清楚什么是更好的设计模式,非常感谢任何输入。