2011-06-16 67 views
0

因此,我正在研究基于iPad窗口的应用程序。将会有很多视图,我会在这些视图之间传递一些简单的数据,主要是字符串(id),以告诉下一个视图加载什么内容。iOS视图之间传递消息,基于窗口的应用程序

只是想知道如何去做这件事?我遇到了这个似乎是最好的解决方案,但我抓住了时间,现在对我来说可能有点矫枉过正。

可以在appdelegate中创建一个字符串,我可以存储要由下一个视图读取的ID吗?

任何想法欢迎..

谢谢。

回答

3
  1. 定义您的视图控制器properties周边的传递对象(如NSManagedObjectContext中所有的核心数据样本中&模板)
  2. 让一个视图控制器的另一delegate,用于将数据作为一个事件的结果(例如选择tableview行,这是UITableViewDelegate的工作方式)
  3. 通过NSNotificationCenter在对象之间使用发布/订阅模式进行同步通知。这应该只用于多个对象可能发布或订阅的地方,或者对象之间的连接距离较远的地方(它们之间的几个视图控制器)。对于异步发布/订阅使用NSNotificationQueue

不要使用AppDelegate作为应用程序的数据包。这是很痛苦的改变,糟糕的设计,并且很难阅读。

+0

谢谢你。我结束了与在AppDelegate中实例化的单例类。目前它似乎运作良好。手指交叉。 – conor 2011-06-24 08:30:34

+1

它会工作,这是可以是痛苦的维护。您可能会喜欢[本文](http://cocoawithlove.com/2008/11/singletons-appdelegates-and-top-level.html)了解数据放置位置。 – RyanR 2011-06-24 13:48:54

相关问题