0

http://www.inappsettingskit.com/のアプリ内設定を使用しています。本当に素晴らしいのですが、起動時に設定をアプリ内設定に自動的にロードする方法がわかりません。

アプリを初めて起動すると、アプリ内の複数値セルがすべて空白になります。

私が知りたいのは、アプリが初めて起動されたときにそれらをロードする方法です?

デフォルトは設定バンドルから読み込まれますが、アプリ内設定には渡されません...現在、これはそれを行う私のコードです...

-applicationDidFinishLaunching:

//It is here that we set the defaults
    NSString *textValue = [[NSUserDefaults standardUserDefaults] stringForKey:@"title_key"];

    //If the first value is nil, then we know that the defaults are not set.
    if(textValue == nil)
    {
        //We set the default values from the settings bundle.

        //Get the bundle path
        NSString *bPath = [[NSBundle mainBundle] bundlePath];
        NSString *settingsPath = [bPath stringByAppendingPathComponent:@"Settings.bundle"];
        NSString *plistFile = [settingsPath stringByAppendingPathComponent:@"Root.plist"];

        NSDictionary *settingsDictionary = [NSDictionary dictionaryWithContentsOfFile:plistFile];
        NSArray *preferencesArray = [settingsDictionary objectForKey:@"PreferenceSpecifiers"];

        NSDictionary *item;

        NSString *title_Key;
        NSString *detail_Key;
        NSString *sort_Key;

        for(item in preferencesArray)
        {
            //Get the key of the item.
            NSString *keyValue = [item objectForKey:@"Key"];

            //Get the default value specified in the plist file.
            id defaultValue = [item objectForKey:@"DefaultValue"];

            if([keyValue isEqualToString:@"title_key"]) title_Key = defaultValue;
            if([keyValue isEqualToString:@"detail_key"]) detail_Key = defaultValue;
            if([keyValue isEqualToString:@"sort_key"]) sort_Key = defaultValue;

        }

        //Now that we have all the default values.
        //We will create it here.
        NSDictionary *appPrerfs = [NSDictionary dictionaryWithObjectsAndKeys:
                                   [NSNumber numberWithInt:2], @"title_key",
                                   [NSNumber numberWithInt:4], @"detail_key",
                                   [NSNumber numberWithInt:2], @"sort_key",
                                   nil];

        [[NSUserDefaults standardUserDefaults] registerDefaults:appPrerfs];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }

最初の回答の提案も試してみました。個別の userDefaults.plist を作成し、そこからデフォルトをロードしました。アプリはまだデフォルトを取得していますが、アプリ内設定に渡されていません。

ここに画像の説明を入力

アプリを最初に起動したときは、このように表示されるはずだと思っていました...

ここに画像の説明を入力

4

1 に答える 1

1

初めて登録したいNSUserDefaults。この説明をご覧ください。

于 2012-06-26T14:57:16.627 に答える