【发布时间】:2010-10-15 16:04:52
【问题描述】:
我一直在考虑这个问题,并阅读了另一个 stackoverflow question 关于在视图控制器之间进行通信的最佳推荐方式。但是,问题/答案似乎并没有解决反向行为的最佳方法。
即要将数据从ParentController 传递到它的ModalController,我们可以像initWithDataToProcess: 一样初始化ModalController。
但是如果我们想要逆向呢?我如何将新数据通知之前的控制器?
例如用户点击ParentController 上的“新人”按钮。我启动了一个新的ModalController,并通过presentModalViewController: 向用户展示了一个人编辑器视图。用户单击“完成”以添加新人。我 dismissModalViewController: 和 UI 返回到 ParentController 的视图。
在单例对象(应用程序委托或其他)中使用全局 字段 引用是不好的。 delegation(通过正式协议)和 notifications(通过 NSNotificationCenter)似乎有点矫枉过正。有什么建议吗?
【问题讨论】:
-
在 .NET 领域,这不是问题,因为模式调用 (
ShowDialog()) 是阻塞调用。使用presentModalViewController:的 Objective-c/Cocoa 似乎并非如此
标签: objective-c model-view-controller controllers