設定値は辞書形式で記録されるので、その名称となるキー値を決めておく必要がある。
NSString *文字列である。
これらは通常.hに書いておく。
#define keyCameraDevice @"cameraDevice" #define keyFalarmRetrigger @"falarmRetrigger" #define keyExitDelay @"ExitDelay" #define keyLatestDate @"LatestDate"
書き出し側
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; // これは定型書式 // 記録するオブジェクトの型によってメッセージが変わる [defaults setInteger:cameraDevice forKey:keyCameraDevice ]; [defaults setBool:falarmRetrigger forKey:keyFalarmRetrigger]; [defaults setFloat:tmExitDelay forKey:keyExitDelay]; [defaults setObject:latestDate forKey:keyLatestDate]; // 書き込み終わったら同期をかける。iOS4以降では必須 [defaults synchronize];読み出し側
NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; // インストール直後かどうかを判定 if ([defaults boolForKey:keyInitialSetup]==NO) { [self initSetup]; } else { cameraDevice =[defaults integerForKey:keyCameraDevice]; falarmRetrigger =[defaults boolForKey:keyFalarmRetrigger]; tmExitDelay =[defaults floatForKey:keyExitDelay]; latestDate =[defaults objectForKey:keyLatestDate]; }
一番最初の初期化
-(id)initSetup NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults]; [defaults setBool:YES forKey:keyInitialSetup]; // 初期設定をした印 // 以下初期値で書き出す処理を書く
というような感じ。
0 件のコメント:
コメントを投稿