2012-04-24 68 views
0

有人可以幫我理解爲什麼這個布爾沒有保存?布爾沒有保存在用戶默認值

這裏是我的視圖代碼做負載:

[appDelegate.defaults setBool:YES forKey:@"testKey"]; 
[appDelegate.defaults synchronize]; 
NSLog (@"TEST BOOL VALUE = %@", [appDelegate.defaults boolForKey:@"testKey"] ? @"YES" : @"NO"); 

在應用程序委託的applicationDidFinishLaunching,我定義appdelegate.defaults就象這樣:

self.defaults = [NSUserDefaults standardUserDefaults]; 

這是爲什麼不工作我真的有不知道。

謝謝!

+0

'defaults'?分配? – 2012-04-24 23:15:49

+1

你是如何聲明'defaults'屬性的?在'viewDidLoad'中用'[NSUserDefaults standardUserDefaults]替換'appDelegate.defaults'時會發生什麼? – sch 2012-04-24 23:16:41

+0

非原子保留。我將嘗試用NSUserDefaults替換它,看看會發生什麼。檢查返回 – 2012-04-24 23:22:34

回答

3

appDelegatenil當您調用上述代碼。

嘗試添加NSSlog檢查:

NSLog(@"appDelegate: %@", appDelegate); 
NSLog(@"appDelegate.defaults: %@", appDelegate.defaults); 
[appDelegate.defaults setBool:YES forKey:@"testKey"]; 
// ... 
+0

這就是問題所在。謝謝你 – 2012-04-24 23:53:41

2

您應該使用:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"testKey"]; 

或者您正在使用什麼類型的屬性來存儲defaults屬性設置爲[NSUserDefaults standardUserDefaults]

+0

謝謝你這是正確的 – 2012-04-24 23:53:59