kade

技術系の記事を書いていきます。

Objective-C: UserDefaultsに初期値を設定する

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
int i = (int)[defaults integerForKey:@"INT_A"];

こんな形でUserDefaultsから値を引き出す時にINT_Aに特に何も格納されてない場合、0が返って来てたんですが、これが常に0か自信なかったので初期値を設定する方法を調べてみました。

NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
NSMutableDictionary* initValues = [NSMutableDictionary dictionary];
[initValues setObject:@"10000" forKey:@"INT_A"];
[defaults registerDefaults:initValues];

registerDefaultsという関数を呼ぶとINT_Aに値が格納されていない場合は10000を格納、されている場合は何もセットしないという処理をしてくれます。

詳解 Objective-C 2.0 第3版

詳解 Objective-C 2.0 第3版