我一直将App Delegate作为“全局存储器”在各个视图控制器之间共享数据。通常我会这样做:
My_AppDelegate *appDelegate = (My_AppDelegate *)[[UIApplication sharedApplication] delegate];
然后,我会把数据放到appDelegate中,并从另一个视图控制器中获取数据。但是这种方式似乎有些笨拙和不恰当(尽管它确实起作用)。是否有更好的方法?可以在某种全局共享区域上设置一个“监听器”,如果有人在其中插入数据元素,则另一个对象将获得“回调”,以让它知道有人准备好数据了吗?在Java中,我们过去经常使用Observer/Observable类来实现此功能 - 也许在iOS中有类似或更好的东西?