21

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

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

4

3 に答える 3

42

iPhone に設定を保存する最も簡単な方法は、NSUserDefaults. ファイル システムや plists、その他のものに対処する必要がなくなります。

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 を格納する場合、キー値は文字列でなければならないなど、いくつかの注意事項があります。

于 2010-02-09T10:42:49.273 に答える
4

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

于 2010-07-01T09:02:14.947 に答える
0

iPhone Developer ConnectionのFile and Networking Guideを読んでください。アプリケーション サンドボックス内の事前定義されたさまざまな場所のパスを取得する方法について説明します。NSDictionary を使用して、ファイル システムに簡単に保存し、plist に変換できる設定を保存することをお勧めします。

于 2010-02-09T10:33:48.100 に答える