iOS - MVP 如何与子演示者沟通父演示者?

标签 ios swift mvp

情况:

  1. 我有一个父 View ,其中有一个演示者和一个 subview ,其中有另一个关联的演示者。
  2. 服务向父演示者提供模型,但此模型也必须传输给子演示者。
  3. 我不想使用 Notification,服务和演示者之间的所有通信都将由委托(delegate)完成。

我目前正在通过 View 链接两个演示者,如果父演示者需要向 child 传达某些内容,它会调用子方法,如果 child 需要向父级通知某些内容(即点击按钮),则子使用一个代表(我正在尝试模拟 swift 对表格的影响)。我使用这种方式是为了将两个演示者分开。

我需要知道这个程序是否错误,如果错误,为什么。

提前致谢:)

最佳答案

我会专注于面向协议(protocol)的编程。让 parent 和 child 都遵守他们自己的协议(protocol)。启动 child 时,您可以依赖注入(inject) parent 。 parent 可以持有对 child 的引用。由于两者都符合协议(protocol),您将知道它们有哪些公开可用的方法。这也使您在编写测试时更容易,因为您可以将模拟发送给符合相同协议(protocol)的 child ,而您又可以使用该协议(protocol)来验证代码行为。

请记住,不要对彼此进行任何强引用,否则您最终会陷入保留循环。

关于iOS - MVP 如何与子演示者沟通父演示者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50742310/

相关文章:

ios - UIView 中的径向渐变颜色未更新

swift - 使用 swift 和 spritekit,如何阻止场景在变为事件/移动到前台后取消暂停?

Android MVP - 将字符串资源从演示者传递到 View

安卓最有值(value)球员。谁关心从对话框和外部应用程序启动和获取数据?

ios - iOS 8 中的 EXC_BREAKPOINT (SIGTRAP)

iOS - 针对 imageView 上按钮的不同屏幕尺寸的自动布局缩放

ios - 为什么不能在 Swift 的 Webview 中显示指示器?

java - 将类引用传递给注入(inject)实例的更好方法

ios - 内购商品审批时间

swift - 如何使用 Swift 中的 nextDate 函数获取给定日期的下个月日期?