Objective c UISplitViewController主/详细通信

Objective c UISplitViewController主/详细通信,objective-c,ios,xcode,cocoa-touch,ipad,Objective C,Ios,Xcode,Cocoa Touch,Ipad,我刚开始使用UISplitViewController——我从各种教程中拼凑了一些代码,但是我很难看到如何将数据从主机发送到细节。我创建一个RSS阅读器只是为了向自己说明它应该如何工作。我已经解析了一个RSS提要,并用UITableView填充MasterViewController,但我一直在想如何在detailViewController的UIWebView中单击一行并加载相应的文章。欢迎提供任何提示。一个好方法是使用学员。这允许一个视图调用另一个视图提供的回调。在这种情况下,细节视图依赖于

我刚开始使用UISplitViewController——我从各种教程中拼凑了一些代码,但是我很难看到如何将数据从主机发送到细节。我创建一个RSS阅读器只是为了向自己说明它应该如何工作。我已经解析了一个RSS提要,并用UITableView填充MasterViewController,但我一直在想如何在detailViewController的UIWebView中单击一行并加载相应的文章。欢迎提供任何提示。

一个好方法是使用学员。这允许一个视图调用另一个视图提供的回调。在这种情况下,细节视图依赖于现有的主视图,因此让它回调是很好的。我会避免让他们彼此直接引用,并直接阅读彼此的数据

这里有一个关于UISplitViewController的教程,它正好做到了这一点(在主/细节之间进行委托):

具体而言,本节:

将左侧与右侧连接起来

是时候玩弄媒人勾当了 这两个方面是一致的

有很多不同的策略可以帮助你 为了最好地完成这一点。在“拆分视图”应用程序模板中 给左视图控制器一个指向右视图控制器的指针, 左视图控制器在右视图上设置属性 当一行被选中时。右视图控制器 替换该特性以在该特性被删除时更新视图 更新。这很好,但我们将遵循这种方法 在此处的UISplitViewController类参考中建议–使用 代表们。基本思想是,我们将用 单一方法-“selectedBotChanged”。我们的右手边将 实现这个方法,我们的左手边将接受一个委托 有人想知道这件事


另一种方法是拥有一个共享模型——有点像带有通知的单例,可以触发不同的视图,根据来自通知的数据或查询模型以响应模型更改来更新自己。在一个应用程序中,如果有许多视图彼此不依赖,并且只是以各种方式冒泡数据(这里不是这种情况-细节视图依赖于现有的主视图,因此委托是可以的),这有时会更好。

在这个问题中,我已经详细回答了这个问题。