1
我們可以使用下面的代碼來獲取應用程序的設置:如何確定設置是否存儲在iOS應用程序中?
[[NSUserDefaults standardUserDefaults] integerForKey:@"settingName"]
但如何找出是否該設置保存或不?
P.S.我不能使用特殊的BOOL設置,因爲我需要知道確切的設置是否存儲在應用程序的先前版本中。
我們可以使用下面的代碼來獲取應用程序的設置:如何確定設置是否存儲在iOS應用程序中?
[[NSUserDefaults standardUserDefaults] integerForKey:@"settingName"]
但如何找出是否該設置保存或不?
P.S.我不能使用特殊的BOOL設置,因爲我需要知道確切的設置是否存儲在應用程序的先前版本中。
使用objectForKey
:
NSNumber *integerSetting = [[NSUserDefaults standardUserDefaults] objectForKey:@"settingName"];
if (integerSetting) {
NSInteger value = [integerSetting integerValue];
// use value
} else {
// setting not there
}
如果這點是設置一些默認值,那麼你會過得更好設置的默認值。在應用程序開始時執行此操作:
NSDictionary *defaults = @{ @"settingName" : @42 }; // set some default value
[[NSUserDefaults standardUserDefaults] registerDefaults:defaults];
請注意,註冊默認值並不會實際更改任何值。如果您嘗試獲取尚未具有明確值的值,則會檢索已註冊的默認值。
現在你的代碼可以簡單地是:
NSInteger value = [[NSUserDefaults standardUserDefaults] integerForKey:@"settingName"];
+1尼斯一個喜歡的答案:) – 2013-02-22 16:19:15
謝謝!在第一個代碼中,'NSUserDefaults'(而不是'NSUserDefault')是正確的。 – Dmitry 2013-02-22 16:24:56