gpt4 book ai didi

ios - -[NSUserDefault registerDefaults :] doesn't work?

转载 作者:行者123 更新时间:2023-11-29 13:51:13 24 4
gpt4 key购买 nike

我的代码如下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSDictionary *appDefaults = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], @"show_outer_reference_circle_preference",
[NSNumber numberWithBool:YES], @"show_seconds_circle_preference",
nil];

NSUserDefaults * prefs = [NSUserDefaults standardUserDefaults];
[prefs registerDefaults:appDefaults];

[glView startAnimation];
return YES;
}

再往下,我使用如下代码轮询 NSUserDefaults:

    NSUserDefaults * userDefaults = [[NSUserDefaults standardUserDefaults] retain]; 
NSNumber* optionsBoolValue = [userDefaults objectForKey:@"show_outer_reference_circle_preference"];
NSAssert(optionsBoolValue != nil, @"AAAAHH");
//...
[userDefaults release];

而且设置没有通过。如您所见,我将值设置为 YES,但是设置为 nil,应用程序运行为“AAAAHH”。

我做错了什么?

提前致谢

-尼克

最佳答案

如您所见,代码的第一部分紧接在 didFinishLaunching 之后。但是,代码的“读出”部分,即问题中的第二个 block ,位于因加载 Nib 而创建的对象的 init 方法中,因此在 之前 didFinishLaunching,因此就像“AAAAHHH”。

为了纠正这个问题,我创建了一个对象,其中包含一个用于设置 userDefaults 的静态方法,并在我读取任何设置之前立即调用它。

关于ios - -[NSUserDefault registerDefaults :] doesn't work?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3933702/

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