在NSDocument包中包装大型SQLite数据库

时间:2012-09-25 22:01:44

标签: sqlite nsdocument

我正在编写一个基于NSDocument的应用程序,它有一个我希望在文档包中标记的SQLite数据库。它由一些表组成,每个表的模式是时间戳和值。这个数据库开始很小,但随着时间的推移可能会增长到相当大的数量。该应用程序正在更新“NSDocument后面的数据库”。

到目前为止,我尝试做的是覆盖writeToURL:ofType:error:方法,该方法可以通过一些令人费解的网址,如:

  

文件://本地主机/私有的/ var /文件夹/ MR / l1z6gdls0fb3t28m3z1bz6lw0000gn / T / TemporaryItems /(A%20Document%20Being%20Saved%20By%MyApp的%2031)/Untitled.wsdoc

此时,如果您愿意,我将被迫使用内存数据库,然后将该数据库的全部内容吸收到NSFileWrapper中。它有效,但它不能很好地扩展。每当有人按下 Command - S (或者更糟糕的是,我开启自动保存)时,如果数据库很大,比较200-300MB或更多(这不属于此应用程序的可能性范围)。

所以我想知道:是否可以管理NSDocument范围之外的SQLite文件,同时仍然将它驻留在文档包中,以便数据库在移动/复制时可以存在于包中?

0 个答案:

没有答案