objective-c - iOS开发中如何保存全局变量?

标签 objective-c ios

我有一个带有多个 Controller 的 iOS 应用程序,每个 Controller 都有自己的 xib 文件。

如何设置一个范围跨越所有 Controller 的全局变量?我是否应该每次都使用 NSUserDefaults 并为每个 View 检索数据?

最佳答案

一般来说,您要避免使用全局变量。如果您需要访问必须共享的数据,有两种常用方法。

将值放入您的 AppDelegate。

如果您只有一个或两个共享值,AppDelegate 是一种放置共享内容的简单方法。

可以从您的 Controller 访问 AppDelegate:

FooApp* appDelegate = (FooApp*)[[UIApplication sharedApplication] delegate];

FooApp 是您的应用程序类的名称。

创建一个单例类。

用大量共享值污染您的 AppDelegate 并不理想,和/或如果您希望这些值在 session 之间持续存在,请创建一个 SingletonNSUserDefaults 支持的类 是跨实例共享值的另一种方式。

关于objective-c - iOS开发中如何保存全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9960982/

相关文章:

ios - 如何设置在 iPhone 上以编程方式选择的第一个 TabBar

ios - 如何在 Parse 中使用重复的用户名检查注册

iphone - 对象和非免费桥接类型之间的转换

iPhone 网络摄像头馈送

ios - 将褪色的深色背景设置为 UINavigationBar

objective-c - 使用 Xcode + gcov 代码覆盖率不显示结果

objective-c - 在 UITableViewCell 中调整 UIImageView 的大小

iphone - 想要在 UIBarButtonItem 旁边添加 UIActivityIndi​​cator

objective-c - 我可以检索枚举/类型中所有项目的列表吗?

android - 打开特定应用的权限设置 flutter ?