AppKitフレームワークは、NSUserDefaults
ごとに保存する方法を提供しNSDocument
ますか?そうでない場合、これをどのように実装することをお勧めしますか?
2 に答える
を使用しNSDictionary
ます。その内容をドキュメントとともに保存します。保存先の形式を変更してこの辞書を含めることができない場合は、「ドキュメント パッケージ」とも呼ばれる「ドキュメント バンドル」に切り替えることができる場合があります。辞書。
提供された機能内にドキュメントごとのデータを明示的に保存したい場合は、次の[NSUserDefaults standardUserDefaults]
ような整理を検討することをお勧めします。
- documentSpecificSettings - NSArray
- 項目 0 - NSDictionary
- url - NSURL のブックマークを含む NSData
- some_key - カスタムキー
- another_key - カスタム キー
- 項目 1 - NSDictionary
- url - NSURL のブックマークを含む NSData
- some_key - カスタムキー
- 項目 0 - NSDictionary
、特におよびのドキュメントをNSURL
参照してください。他にも方法はありますが、使用したい方法は次のとおりです。+bookmarkDataWithContentsOfURL:error:
+URLByResolvingBookmarkData:options:relativeToURL:bookmarkDataIsStale:error:
私が理解している限りでは、ブックマークを URL に解決するときにドキュメントがまだ存在するかどうかを手動で追跡する必要があります。また、ディクショナリ内の各 URL を解決して、それがドキュメントに適用されるかどうかを確認する必要があると思います。
これは、文書とともに辞書を単純に格納するよりも複雑に見えます。
ドキュメントを識別するキーがある場合は、そのキーを使用してオブジェクト (辞書...) を に格納できますNSUserDefaults
。または、「ドキュメント」の定義方法によっては、独自のメタデータを含めることができます。