第一次读取设置捆绑不返回正确的值

时间:2014-04-28 22:33:03

标签: ios objective-c boolean settings.bundle

我有一些代码,我从设置包中读取切换值,但在某些情况下,它读取的值不正确。

这是我的代码看起来的样子,它位于我的应用代理 applicationDidBecomeActive

NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];
NSNumber *branchString = [settings objectForKey:@"signout"];

BOOL userSignOut = [[settings objectForKey:@"signout"] boolValue];
NSLog(userSignOut ? @"Yes" : @"No");

当应用程序首次加载时会发生什么?然后当我切换到设置并将我的切换转到YES时,当我重新登录时,我仍然得到但是,如果我再次在设置和我的应用之间切换,只需触摸开关设置,当我得到时,即使它应该早一步发生。

2 个答案:

答案 0 :(得分:0)

设置值时是否使用此功能?

[[NSUserDefaults standardUserDefaults] setObject:(id) forKey:(NSString *)];
[[NSUserDefaults standardUserDefaults] synchronize];

答案 1 :(得分:0)

您可以使用NSUserDefaultsDidChangeNotification作为观察者。