0

iCloud経由での設定の同期に関するAppleのドキュメントに従いました-基本的に、「更新された」ユーザー情報のすべてのキーを繰り返し、それを設定します[NSUserDefaults standardDefaults].

しかし、同じ形式で保持したいが、同期してはならない他のデータがいくつかありますNSDictionaries..

これらを同じ方法で別の場所に保管する方法はありますか? または、「iCloud からの更新」メソッドを変更して、これらをキー名で明示的に除外する必要がありますか? それは少し柔軟性がなく、エラーが発生しやすいようです (ローカルに保存するものを変更するたびに、「除外するキー」を更新することを忘れないでください)。

4

1 に答える 1

2

このようなデータは、「<Library folder>/Application Support/<app bundle id>」に保存できます。標準 API を使用して、ユーザーの Library フォルダー (コンテナー内にあります) を見つけます。「Application Support」フォルダー自体が存在しない可能性があるため、必要に応じて確認して作成する必要があります。自分のアプリのフォルダは作成しないと存在しないので、確認して作成してください。

さまざまなコレクションには、URL から読み書きするメソッドがありますNSArray

+ (id)arrayWithContentsOfURL:(NSURL *)aURL;
- (BOOL)writeToURL:(NSURL *)aURL atomically:(BOOL)flag;

上記のディレクトリへのパスを取得したら、適切な名前のファイル (「theArrayOfDictionaries.plist」など) の URL を作成し、これらのメソッドを使用して読み取り/書き込みを行います。唯一の注意点は、コレクションには、プロパティ リストに格納できる型のみを含める必要があるということです。plist 以外の型 (たとえば、独自のクラス) がある場合は、それらを書き込み/読み取りの前後NSColorに変換する必要があります。これを行う方法については、このページを参照してください。NSDataNSColor

HTH。

于 2013-06-18T18:52:45.623 に答える