« PreviousNext »

Entry

iPhoneアプリ開発進捗(1)設定値を保存するには...

え~、ぼちぼち進んでます。iPhoneアプリの開発。ちょっと悩んでた部分が解決したんで、今夜は枕を高くして眠れそうです。"Utility Application"というテンプレートで設定画面のあるアプリを作ってるんですが、設定の保存、取得、またその反映のさせ方が分からなかったのですがやっと解決しました!

そういう場合は「NSUserDefaults」を使うらしいですね。これで、カメラロールに一度戻ったりアプリ自体を終了させたとしても設定を残すことができます。

TIMECAMERA_20100413.jpg

「FlipsideViewController.m」の「viewDidLoad」と「done」の各メソッドに下記のように追加。

- (void)viewDidLoad {
 
 // パラメーターの取得と反映
 NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
 [swHogeHoge setOn:[defaults boolForKey:@"hogeHoge"]];
}

- (IBAction)done {
 
 //パラメータの保存
 NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
 [defaults setBool:[swHogeHoge isOn] forKey:@"hogeHoge"];
}

上記は「UISwich」を例に説明してますが、この場合、保存されるデータは「0」若しくは「1」となります。後は何か適当にインスタンス変数を立てて、ifなどで条件分岐させるなどして処理の実行を制御します。

「MainViewController.m」の任意の位置に下記のように追加。

 //パラメーターの取得と任意の処理
 NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
 int hogeHoge = [defaults boolForKey:@"hogeHoge"];

 if (hogeHoge == 1) {
  (※任意の処理)
 }

※ソースの「hogeHoge」のようになっている部分は、任意のものに置き換える必要があります。また、上記はUISwich一つ分の記述となっています。

Page Top

« PreviousNext »