ヒレガス本 13章 課題

UserDefaultの値を初期値にするボタンを設置せよとの事。

PreferenceController.mに以下のようなコードを追加すれば可能。

- (IBAction) resetPreferences:(id)sender
{
    NSUserDefaults* theDefault = [NSUserDefaults standardUserDefaults];

    [theDefault removePersistentDomainForName:[[NSBundle mainBundle] bundleIdentifier]];

    [colorWell setColor:[PreferenceController preferenceTableBgColor]];
    [checkBox setState:[PreferenceController preferenceEmptyDoc]];
}

しかし、バインディングを使って実装し[NSUserDefaultsController revertToInitialValues]を使えばもっと簡単に実装出来る。 ググってもそちらの方はあまりでないのはiOSにNSUserDefaultsControllerが無いからなのかもしれない。

プロジェクトファイルは、 RaiseMan_UserDefault に置いておきます。