各設定値の保存

NSUserDefaultsを使い、次の様な流れにするのが良いと思います。

1)初めての起動時、設定値に初期値を保存

2)設定値を読込み、アプリの動作に適用

3)設定画面等で設定変更をしたら、設定値に保存


1)初めての起動時、設定値に初期値を保存

コピペで即動く
    NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];//NSUserDefaults取得
    NSMutableDictionary *defaults = [NSMutableDictionary dictionary];//NSMutableDictionary取得
    //一旦NSMutableDictionaryに全て設定
    [defaults setObject:@"1" forKey:@"KEY_I"];//「KEY_I」という名前で「1」の値(整数)をセット
    [defaults setObject:@"1.2" forKey:@"KEY_F"];//「KEY_F」という名前で「1.2」の値(少数)をセット
    [defaults setObject:@"test" forKey:@"KEY_S"];//「KEY_S」という名前で「test」の値(文字)をセット
    [defaults setObject:@"YES" forKey:@"KEY_B"];//「KEY_B」という名前で「YES」の値(BOOL値)をセット
    [ud registerDefaults:defaults];//設定値を保存

2)設定値を読込み、アプリの動作に適用

 読み込む値の型により、integerForKey、floatForKey、stringForKey、boolForKey等を指定します。

コピペで即ウゴ
    NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];//NSUserDefaults取得
    NSInteger i = [ud integerForKey:@"KEY_I"];//「KEY_I」という名前の設定値を取得
    NSLog(@”%d”,i);
    CGFloat f = [ud floatForKey:@"KEY_F"];//「KEY_F」という名前の設定値を取得
    NSLog(@”%f”,f);
    NSString *s = [ud stringForKey:@"KEY_S"];//「KEY_S」という名前の設定値を取得
    NSLog(@”%@”,s);
    BOOL b = [ud boolForKey:@"KEY_B"];//「KEY_B」という名前の設定値を取得
    NSLog(@”%@”, b ? @”YES” : @”NO”);
NSInteger integerForKey:
float floatForKey:
double doubleForKey:
NSString stringForKey:
BOOL boolForKey:
NSArray arrayForKey:
NSDictionary dictionaryForKey:
NSData objectForKey:
NSURL URLForKey:

3)設定画面等で設定変更をしたら、設定値に保存
書き込む値の型により、setInteger、setFloat、setObject、setBool等とforKeyで名前を指定します。
コピペで即ウゴ
    NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];//NSUserDefaults取得
    [ud setInteger:2 forKey:@"KEY_I"];//「KEY_I」という名前で「1」の値(整数)をセット
    [ud setFloat:2.3 forKey:@"KEY_F"];//「KEY_F」という名前で「1.2」の値(少数)をセット
    [ud setObject:@"TEST" forKey:@"KEY_S"];//「KEY_S」という名前で「test」の値(文字)をセット
    [ud setBool:NO forKey:@"KEY_B"];//「KEY_B」という名前で「YES」の値(BOOL値)をセット
    [ud synchronize];//設定値を保存
NSInteger setInteger:
float setFloat:
double setDouble:
NSString setObject:
BOOL setBool:
NSArray setObject:
NSDictionary setObject:
NSData setObject:
NSURL setURL:
このエントリーをはてなブックマークに追加
Clip to Evernote

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>