在选项卡式应用程序中跨选项卡共享设置

时间:2012-07-26 19:31:30

标签: iphone ios xcode tabs communication

如果我有一个标签式iphone应用程序,我该如何从一个标签进行通信。例如,如果我有一个在第5个标签上显示图片的益智游戏,但只有当其他4个标签上的开关位于正确位置时,我如何让第5个标签知道其他标签上的设置?

2 个答案:

答案 0 :(得分:0)

您可以向应用委托添加一些方法,并提供密钥以在可变字典中存储值。因此,应用程序中的所有对象都可以从appDelegate请求值,并且所有对象都可以向app delegate询问某些值。因此,每个“开关”都有一个名称和一个值(对象值,如[NSNumber numberWithInt:2],用于键“Fast”。

答案 1 :(得分:0)

首先,您可以通过自定义标签栏控制器的属性存储您的共享信息,各个标签的视图控制器的viewDidLoad可以检索以更新自己的ivar,例如:

MyTabBarViewController *parentController = (MyTabBarViewController *)self.parentViewController;

_model = parentController.model;

其次,您可以将模型存储在app delegate中,您可以在各个选项卡的视图控制器中执行以下操作:

MyAppDelegate *appDelegate = (MyAppDelegate *)[UIApplication sharedApplication].delegate;

_model = parentController.model;

第三,你也可以使用单身人士。

似乎你的目标是在标签之间共享信息,第一种技术看起来最好(最好将对象限制在最窄的适当范围内)。