1

アプリのUIに必要なすべての設定、つまり背景画像、アニメーション、サウンド、データベースなどを含むconfigfile1.plistファイルがアプリバンドルにあります。私は次のようにこのメソッドがあるConfigFileManagerクラスを使用しました:

-(void) loadConfigFile
{
    configFile = [[NSBundle  mainBundle] pathForResource:@"ConfigFile1"
                                              ofType:@"plist"];
rootDictionary = [[NSDictionary alloc]initWithContentsOfFile:configFile];

//__ settings
settings = [rootDictionary objectForKey:@"settings"];
timerMode = [settings objectForKey:@"timerMode"];
timePerQuestion = [settings objectForKey:@"timePerQuestion"];
if (timerMode.intValue == 1) {
    //__time is fixed.
}
else
{
    //time is not fixed, there's an initialTime to begin with, and it increases if the answer is correct (timePerQuestion), and doesn't change if it's wrong.
    initialTime = [settings objectForKey:@"initialTime"];
}

//__ Textures
textures = [rootDictionary objectForKey:@"textures"];

//__ buttons
buttons = [textures objectForKey:@"buttons"];
buttonBackground = [buttons objectForKey:@"buttonBG"];
buttonBackgroundSelected = [buttons objectForKey:@"buttonBGSelected"];
mainMenuPlayButton = [buttons objectForKey:@"mainMenu.playButton"];
.
.
.
}

これは、アプリが開かれているときにアプリデリゲートでメソッドが呼び出されるアプリのデフォルト構成です。configfile2.plist、、などがあるとしましょうconfigfile3.plist。私もUIViewControllerこれを持っており、利用可能な構成ファイルをテーブルビューで表示する必要があります。ユーザーが構成ファイルの1つを選択でき、それがアプリ全体に適用されるようにするには、どうすればよいですか?

詳細な回答をいただければ幸いです。前もって感謝します!

4

1 に答える 1

0

一般的な考え方は次のとおりです。

  1. .plist には可能なオプションが格納されます
  2. ユーザーにオプションを表示します
  3. 選択したオプションをどこかに保存します
  4. 保存されたオプションに基づいて UI を更新する

ステップ 1 と 2 を実行しました。したがって、後で取得できるようにオプションを保存する場所を決定する必要があります。

1 つのオプションは、[NSUserDefaults standardUserDefaults]選択したオプションを保存するために使用することです。とそのサンプルアプリをチェックしてInAppSettingsKit、全体がどのように機能するかを確認してください。

于 2013-01-15T10:37:01.197 に答える