1

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

4

2 回答 2

0

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

于 2012-07-26T19:57:08.837 回答
0

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

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

_model = parentController.model;

其次,您可以将模型存储在应用程序委托中,您可以在各个选项卡的视图控制器中执行以下操作:

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

_model = parentController.model;

第三,您大概也可以使用单例。

似乎如果您的目标是在选项卡之间共享信息,第一种技术似乎最好(最好将对象限制在最窄的适当范围内)。

于 2012-07-26T21:40:41.683 回答