gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:54:30 28 4
gpt4 key购买 nike

我第一次在我的应用程序中使用 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com