jjzjj

objective-c - UISplitViewController - View Controller 之间通信的最佳设计模式

coder 2024-01-27 原文

我第一次在我的应用程序中使用 UISplitViewController。主视图 Controller 是一个 TableView Controller ,详细 View Controller 只是一个普通 View Controller 。

为了从主人到细节的沟通,我将细节设置为主人的代表。但我还需要 master 能够响应细节的变化(相应的 TableView 单元格的内容将更新以反射(reflect)变化。)

master 也可以当 detail 的 delegate 吗?或者这是糟糕的编程习惯?对此有更好的方法吗?

感谢您的任何建议。

最佳答案

您可以提供一个特定于您的模型的委托(delegate)协议(protocol),该协议(protocol)由您的两个 Controller 共享。该协议(protocol)可以包含 itemContentDidChange:withIndex: 等方法,为监听器提供有关模型更改内容的信息。如果您将两个 Controller 都注册为共享模型的委托(delegate),并且都实现了这个共享协议(protocol),那么跨 Controller 依赖关系将被删除,而不会引入任何新的依赖关系。

然而,这只是我的意见,这是相当主观的。您的方法也非常好 - 我认为大师同时成为细节的代表是绝对可以的,因为细节是大师的代表。这比给每个 Controller 一个指向另一个 Controller 的指针要好,因为您不需要考虑保留周期。

关于objective-c - UISplitViewController - View Controller 之间通信的最佳设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8342531/

有关objective-c - UISplitViewController - View Controller 之间通信的最佳设计模式的更多相关文章

随机推荐