我有一个带有多个控制器的 iOS 应用程序,每个控制器都有自己的 xib 文件。
如何设置范围涵盖所有控制器的全局变量?我应该使用NSUserDefaults
并每次都检索每个视图的数据?
一般来说,您希望避免使用全局变量。如果您需要访问必须共享的数据,有两种常见的方法。
将值放入您的 AppDelegate 中。
如果您只有一个或两个共享值,则 AppDelegate 是放置共享内容的简单方法。
可以从您的控制器访问 AppDelegate,如下所示:
FooApp* appDelegate = (FooApp*)[[UIApplication sharedApplication] delegate];
Where FooApp
是您的应用程序类的名称。
创建一个单例类。
用大量共享值污染您的 AppDelegate 并不理想,并且/或者如果您希望这些值在会话之间持续存在,请创建一个辛格尔顿 http://www.johnwordsworth.com/2010/04/iphone-code-snippet-the-singleton-pattern/支持的类NSUserDefaults
是跨实例共享值的另一种方式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)