gpt4 book ai didi

iphone - 在应用程序加载时从 NSUserDefaults 获取值并将其存储在全局变量中的最佳方法是什么?

转载 作者:行者123 更新时间:2023-12-03 20:53:31 38 4
gpt4 key购买 nike

在应用加载时从 NSUserDefaults 获取值并将其存储在全局变量中的最佳方法是什么?

每次我想访问存储的值时,我都可以点击[[NSUserDefaults standardUserDefaults] objectForKey:@"Theme"],但每次都会击中磁盘,这会很糟糕(我需要 UITableView 单元格的值)。我想要做的是在加载时将该值存储到全局变量,然后在整个应用程序中使用该变量。

最好的方法是什么?显然我无法创建常量,因为 [[NSUserDefaults standardUserDefaults] objectForKey:@"Theme"] 无法编译为常量。我应该如何为此创建一个全局变量?有没有办法把它放在main.m或Prefix.pch文件中?我不想在整个应用程序中每次都必须点击应用程序代理。

最佳答案

“NSUserDefaults 会缓存信息,以避免每次需要默认值时都必须打开用户的默认数据库。” -NSUserDefaults Class Reference

但是,如果你真的想要这个“常量”(但它不会是一个真正的常量),请执行以下操作

*.pch:

extern NSString *themeString;

AppDelegate.m:

NSString *themeString = nil;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// ...
themeString = [[[NSUserDefaults standardUserDefaults] objectForKey:@"Theme"] copy];
// ...
}

关于iphone - 在应用程序加载时从 NSUserDefaults 获取值并将其存储在全局变量中的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7681987/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com