我需要存儲在NSUserDefault數字參數,這個參數必須爲默認1 所以我寫這樣的代碼:NSUserDefaults和registerDefault,一個標準的行爲?
NSNumber *one = [NSNumber numberWithInt:100];
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
one,@"my-param",
nil];
[def registerDefaults:dict];
此參數具有優於IB複選框綁定,所以我可以確認這是正確的設置,當我開始我的應用程序,我看到狀態「開」的複選框。
在另一邊,我必須檢查這個值編程所以...我這樣做:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSInteger my_param = [defaults integerForKey:@"my-param"];
我除外,由於價值不是由用戶設置,我設置爲這個函數返回值默認情況下(在我的情況下「1」),但與我的驚喜,我發現,如果價值從未由用戶設置它返回0 ...因爲你可以理解這是可怕的:P因爲現在我不明白,如果這個「0」是由用戶選擇這是一個非設定值的後果...我如何編寫代碼來管理這種情況?
如果上面的代碼幫助你,請給我投票 – sumanthkodi