我正在xCode 5上制作一个单视图应用程序,我想进行一个设置,用户可以选择汽车的颜色和背景颜色。我已经使用2个视图控制器使它工作了;1作为主菜单,1作为选择颜色,背景和玩游戏。我很确定这对于像这样的应用程序来说是不好的做法,所以我想找到一种不同的方法来做同样的事情。我有这样的选择,以便在选择汽车颜色时可以“隐藏”背景选择和游戏对象。然后,在选择背景时,汽车颜色和游戏对象将被隐藏。然后在玩游戏时,隐藏汽车的颜色和背景。我知道这是一个糟糕的结构,这就是为什么我想获得一个答案,如何将相同的声明链接到3个单独的视图控制器。或至少不是那么混乱的替代方案。谢谢
解决此问题的一种方法是将此类值(属性)存储在AppDelegate类中,或者随着应用程序在自定义数据模型中的增长而存储。这样,您创建的每个类都将能够访问和更改另一个类设置的值。就像有一个“全局变量”。
尽管对于较小的应用程序,在AppDelegate中很容易做到这一点:
在您的View Controller中,创建对应用程序的AppDelegate的引用,如下所示:
AppDelegate * myAppDelegate =(AppDelegate *)[UIApplication sharedApplication] .delegate;
现在,您可以访问myAppDelegate.yourProperty = xxx并获取并设置值。这将获取对您当前的AppDelegate及其所有(公共)属性的引用。
随着您对它的深入了解以及应用程序的大小和复杂性的增长,您将创建自己的数据模型类(或使用Core Data)来跟踪应用程序范围的更改。
希望这可以帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句