UISplitViewController主/从通信
我刚刚开始玩UISplitViewController – 我已经拼凑了一些来自各种教程的代码,但是我无法看到如何从Master发送数据到Detail。 我创build一个RSS阅读器只是为了向我自己说明它应该如何工作。 我已经parsing了一个RSS提要,并用UITableView填充了MasterViewController,但是我不知道如何进行点击并在detailViewController的UIWebView中加载相应的文章。 任何提示都表示赞赏。
一个好的方法是使用代表。 这允许一个视图调用另一个提供的callback。 在这种情况下,详细视图依赖于主存在,所以callback是好的。 我会避免让他们直接引用对方,直接读取对方的数据。
委托在xcode ios项目中究竟做了些什么?
这里有一个与UISplitViewController的教程,只是(主/细节之间的委托):
http://www.raywenderlich.com/1040/ipad-for-iphone-developers-101-uisplitview-tutorial
具体这个部分:
用右手勾起左手
玩媒人的时候,把这两边勾在一起。
如何最好地完成这个,有许多不同的策略。 在拆分视图应用程序模板中,他们给左视图控制器一个指向右视图控制器的指针,左视图控制器在选中某行时在右视图控制器上设置一个属性。 更新属性时,右视图控制器将覆盖该属性以更新视图。 这工作正常,但我们要按照在这里UISplitViewController类参考中build议的方法 – 使用委托。 基本的想法是我们要用一个方法来定义一个协议 – “selectedBotChanged”。我们的右边将实现这个方法,而我们的左边将接受一个想知道这个的人的委托。
另一种方法是build立一个共享模型 – 就像一个单身人士一样,通知可以触发不同的视图,根据通知的数据更新自己,或者根据模型的变化查询模型。 这在有许多不依赖于彼此的视图的应用程序中有时更好,只是以各种方式(这里不是这种情况 – 详细视图依赖于主存在,所以委托是好的)冒泡数据。