質問

私の iPhone アプリには、ユーザーが頻繁に変更する可能性のある設定がほとんどありません。そのような設定を処理する(読み取りと保存)ための推奨される方法があるかどうかを知りたいです。Apple のサイトでは、アプリケーション設定と設定アプリの統合に関するチュートリアルしか見つかりませんでした (リンク)しかし、ユーザーがオプションを変更できるようにアプリを終了してほしくないのです。

アプリ自体でそのような設定を処理するデフォルトのメカニズムはありますか、それとも独自のソリューションを実装する必要がありますか?

役に立ちましたか?

解決

iPhone に設定を保存する最良かつ最も簡単な方法は、 NSUserDefaults. 。ファイル システムや plist などを扱う必要がなくなります。

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

NSString *storedVal = @"This is what you want to save";
NSString *key = @"storedVal"; // the key for the data

[defaults setObject:storedVal forKey:key];
[defaults synchronize]; // this method is optional


// Get the results out
NSString *results = [defaults stringForKey:key];

デフォルトに保存できるオブジェクトの種類について Apple は次のように述べています。

デフォルトのオブジェクトは、プロパティリストである必要があります。つまり、インスタンス(またはコレクションの場合のインスタンスの組み合わせ)です。NSDATA、NSSTRING、NSNUMBER、NSDATE、NSARRAY、またはNSDictionary。他の種類のオブジェクトを保存する場合は、通常、NSDATAのインスタンスを作成するためにアーカイブする必要があります。

NSDictionary を保存する場合、キー値は文字列である必要があるなど、さらにいくつかの注意事項があります。

他のヒント

アプリ内から設定を編集するための UI を探している場合は、次の InAppSettingsKit をチェックしてください。 http://www.inappsettingskit.com

読む ファイルとネットワークのガイド iPhone 開発者コネクションから。アプリケーション サンドボックス内のさまざまな事前定義された場所のパスを取得する方法について説明します。NSDictionary を使用して設定を保存することをお勧めします。これは、ファイル システムに簡単に保存して plist に変換できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top