如果我有一个标签式iphone应用程序,我该如何从一个标签进行通信。例如,如果我有一个在第5个标签上显示图片的益智游戏,但只有当其他4个标签上的开关位于正确位置时,我如何让第5个标签知道其他标签上的设置?
答案 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;
第三,你也可以使用单身人士。
似乎你的目标是在标签之间共享信息,第一种技术看起来最好(最好将对象限制在最窄的适当范围内)。