我想創建一個使用使用NSPersistentDocument打造「文檔」
- 斯威夫特
- CoreData
- 「文件」的工作,在標準的MacOS時尚[自定義擴展,單一的「一個應用程序文件'/ filewrapper包含所有與該文件相關的數據]
這似乎不可能。該文檔非常清楚地指出:
NSPersistentDocument不支持某些文檔行爲: 文件包裝。 [..]
這讓我覺得與圖像處理CoreData的常用方法 - 二進制數據與「允許外部存儲」和它們保存到不同的位置,該URL存儲在數據庫中 - 不能與NSPersistentDocument一起使用。我希望我的用戶能夠對我的'文件'執行通常的Finder操作(複製,移動到外部存儲,從外部備份恢復),並且需要我的所有數據都集中在一個包中。
當保存 - .sqlite,.sqlite-shm,.sqlite-wal時,文件存儲的SQL版本會導致通常的三重堆棧,這是無用的'文檔'。
有沒有我忽略的解決方案? (例子非常稀疏; Big Nerd Ranch sample也沒有解決這個問題; Marcus Zarra和Objc.io都沒有涉及到NSPersistentDocument)。
如何在filewrapper中創建單獨的CoreData存儲(sql)?鏈接的例子提出了一個單一的CoreData存儲所有信息,單個文檔使用不同類型的存儲(plist等) - 而我真的在尋找一個使用CoreData的「文檔」。 –
你也可以在NSDocument範圍內實例化一個Core Data堆棧,並將SQLite,XML或二進制文件保存在文檔中。 – Ely