如何让一个头文件中的声明访问三个单独的视图控制器?

洛根

我正在xCode 5上制作一个单视图应用程序,我想进行一个设置,用户可以选择汽车的颜色和背景颜色。我已经使用2个视图控制器使它工作了;1作为主菜单,1作为选择颜色,背景和玩游戏。我很确定这对于像这样的应用程序来说是不好的做法,所以我想找到一种不同的方法来做同样的事情。我有这样的选择,以便在选择汽车颜色时可以“隐藏”背景选择和游戏对象。然后,在选择背景时,汽车颜色和游戏对象将被隐藏。然后在玩游戏时,隐藏汽车的颜色和背景。我知道这是一个糟糕的结构,这就是为什么我想获得一个答案,如何将相同的声明链接到3个单独的视图控制器。或至少不是那么混乱的替代方案。谢谢

杰伊·韦斯鲁瓦(Jay Versluis)

解决此问题的一种方法是将此类值(属性)存储在AppDelegate类中,或者随着应用程序在自定义数据模型中的增长而存储。这样,您创建的每个类都将能够访问和更改另一个类设置的值。就像有一个“全局变量”。

尽管对于较小的应用程序,在AppDelegate中很容易做到这一点:

  • 在AppDelegate.h中为背景和汽车颜色创建公共属性
  • 在您的View Controller中,导入AppDelegate.h
  • 在您的View Controller中,创建对应用程序的AppDelegate的引用,如下所示:

    AppDelegate * myAppDelegate =(AppDelegate *)[UIApplication sharedApplication] .delegate;

现在,您可以访问myAppDelegate.yourProperty = xxx并获取并设置值。这将获取对您当前的AppDelegate及其所有(公共)属性的引用。

随着您对它的深入了解以及应用程序的大小和复杂性的增长,您将创建自己的数据模型类(或使用Core Data)来跟踪应用程序范围的更改。

希望这可以帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在三个视图控制器之间导航,这三个视图控制器都在一个标签栏视图中

如何使用通知中心将数据从第三个视图控制器向后移动到第一个视图控制器?

如何在另一个头文件中包含c头文件?

C++ - 在另一个头文件中包含一个头文件以使全局变量可用于数组声明

如何使用Swift访问另一个视图控制器中的一个视图控制器的IBoutlet?

来自第二个头文件中的一个头文件的Typedef用法

在另一个头文件中包括头文件中的typedef枚举

Makefile | 对头文件中包含的另一个头文件的依赖

为什么在另一个头文件中声明结构会导致LNK2001错误?

如何访问另一个控制器动作中的一个控制器动作?

在$ routeProvider路由中定义一个控制器,该路由位于单独的文件中

如何在Swift中的另一个视图控制器中显示视图控制器?

如何从另一个视图控制器访问按钮?

如何从另一个视图控制器访问插座?(迅速)

如何将一个类定义分成2个头文件?

一个Angular控制器,但是每个方法都在一个单独的文件中

从目标C / iOS中的另一个视图控制器访问C数组

如何返回上一个视图控制器?

如何从HTML ERB文件链接到Rails中的另一个视图(来自同一控制器)?

如何从当前视图控制器弹出上一个视图控制器?

如何从当前视图控制器更改前一个视图控制器的颜色?

在 UIView 中呈现一个视图控制器

一个视图控制器中的多个图形

如何在 C 中包含另一个头文件中定义的结构数组?

如何从另一个视图控制器 Swift 中隐藏容器视图

如何从一个控制器类和fxml文件创建控制器和视图的多个实例

C编程如何在另一个头文件中打印出结构的元素?

如何从一个视图控制器弹出到另一个视图控制器

从AngularJS中另一个文件中的控制器访问服务