ドキュメントバンドルにタグ付けしたいSQLiteデータベースを持つNSDocumentベースのアプリケーションを作成しています。いくつかのテーブルで構成され、各テーブルのスキーマはタイムスタンプと値です。このデータベースは小さいものから始めますが、時間の経過とともにかなりの量に成長する可能性があります。アプリケーションは、「NSDocument の背後で」データベースを更新しています。
これまでに試みたことは、次のwriteToURL:ofType:error:
ような複雑な URL を渡すことができるメソッドをオーバーライドすることです。
file://localhost/private/var/folders/mr/l1z6gdls0fb3t28m3z1bz6lw0000gn/T/TemporaryItems/(A%20Document%20Being%20Saved%20By%MyApp%2031)/Untitled.wsdoc
この時点で、必要に応じてインメモリ データベースを使用し、そのデータベースの内容全体を NSFileWrapper に吸い上げる必要があります。機能しますが、うまくスケーリングしません。データベースが 200 ~ 300MB 以上の巨大な場合 (このアプリケーションの可能性の範囲外ではありません)、誰かが押すたびにCommand- (さらに悪いことに、自動保存をオンにします) を実行すると、非常にコストのかかる操作になる可能性があります。S
だから私は疑問に思っています.SQLiteファイルをNSDocumentの範囲外で管理しながら、ドキュメントバンドル内に存在させて、データベースが移動/コピーされたときにバンドル内に存在できるようにすることは可能ですか?