2011-12-03 9 views
2

アプリの設定のプログラムを変更する可能性の重複:
Is there anyway to set values in the settings.bundle from within the APPiPhone -

私は設定がオフになっていることをいくつかの点でそれらを警告するユーザーを促しますiPhoneアプリを開発しています。そこから彼らはそれを有効にして続行することを選択できます。私は設定を取得し、私のコードで使用することができます、問題はプログラム的にそれらを変更しています。ここで私は

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ 
    if(buttonIndex == 1){ 

     // Get the application defaults 
     NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
     NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:@"YES" forKey:@"enabledAutoCheck"]; 

     // Set the new settings and save 
     [defaults registerDefaults:appDefaults]; 
     [defaults synchronize]; 
    } 
} 

持っているものだ私は(私は唯一の3日前のObjective-CやiPhoneの開発を学び始めてから!)野生の推測を作ってるんだ、それはこれがデフォルト設定されているという事実とは何かを持っていること以前の設定がない場合にのみ使用されます。

これはちょっとしたものが欠けているのですか、最初に設定した設定を変更する別の方法がありますか?

おかげ

答えて

4

NSUserDefaults紛らわしい名前のビットである - 彼らは実際の設定ではなく、デフォルトです。

registerDefaultsは必要ありません。代わりに[defaults setObject:@"YES" forKey:@"enabledAutoCheck"];(設定を保存する)と[defaults synchronize];(設定を保存)を呼び出すことができます。そうすることで、消去したくない設定を消去しないようにすることができます。

残りのコードは問題ありません。ただし、必要な場所に実際にロードして、UI設定を変更するときに影響を受けるUI部分を変更するようにしてください。彼らは自分自身を更新しません:-)

+0

ありがとうございました!うまく動作します:)私は知っている、私は物事のUI側の世話をするInAppSettingsキットを使用しています。 – Peter