設定値は辞書形式で記録されるので、その名称となるキー値を決めておく必要がある。
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 件のコメント:
コメントを投稿