ヒレガス本 第8章 ユーザ・デフォルト

  • NSUserDefaultsクラスのクラスメソッドstandardUserDefaultsでデフォルトオブジェクトを得る。
  • registerDefaultsでデフォルトを登録する。ユーザの設定は、setObject:forKey等で保存する。

演習問題はこんな感じ。

- (IBAction)resetPreferences:(id)sender
{
	NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
	[defaults removeObjectForKey:BNRTableBgColorKey];
	[defaults removeObjectForKey:BNREmptyDocKey];
}

最初、以下のようにしてみたら「全て」のキーが削除されてちょっとびびった。

- (IBAction)resetPreferences:(id)sender
{
	NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
	NSEnumerator *e = [[defaults dictionaryRepresentation] keyEnumerator];
	NSString *key;
	while (key = [e nextObject]) {
		NSLog(@"resetPreferences: %@", key);
		[defaults removeObjectForKey:key];
	}
}