3

UINavigationControllerに基づくアプリケーションがあります。ユーザーが言語やその他の設定などの機能を設定できる「設定」ページを追加したいと思います。現在、設定フィールドを配置したいUIViewControllerは、RootViewControllerの下の2つのレベルです(つまり、「メインビュー」があります>>ボタンをクリックして別のUIViewControllerを入力し、そこから設定UIViewControllerを入力できるはずです。 )。

このデータをどのように保存するのか、アプリケーションのロード時にどのように呼び出すのかがわかりません。

NSUserDefaultsとSingletonに関するいくつかのブログを読みましたが、それらをどのように使用すればよいかわかりません。

後でユーザー設定を維持するデータ属性をどこに作成する必要がありますか?AppDelegateまたはMySettingsViewController(作成しているUIViewController)で作成する必要がありますか?

シングルトン属性を使用する必要がありますか?使用する場合は、どこに作成する必要がありますか?

「シングルトン」とは、実際には静的属性を作成することを意味しますか?

互いに直接接続されていない2つのコントローラー間で通信する別の方法はありますか(「下部」のViewControllerからRootViewControllerにデータを転送し、中央のUIViewControllerを介してデータを渡すことができますが、奇妙で効果がないようです)?

どんな方向性/チュートリアルでも大歓迎です!

4

2 に答える 2

12

間違いなくNSUserDefaultsを使用してください。それは素晴らしいことであり、Appleはそれを推奨しています。

設定するには:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"Setting 1"];

テキストや数字など、他のものを保存することもできます。単純なブール値以上のものです。

設定を確認するには:

if ([[NSUserDefaults standardUserDefaults] boolForKey:@"Setting 1"]) {
    //ok, do the thing here
}
于 2011-08-01T17:00:35.227 に答える
4

自分でロールするのではなく、http://inappsettingskit.com/を使用します。私が取り組んでいるほとんどすべてのアプリケーションでこれを使用しており、この種のシナリオでアプリの設定を完全に処理します。

于 2011-08-01T16:29:13.157 に答える