2012-02-06 72 views
3

我正在研究UIDocument应用程序,我想在打开文档之前向用户显示文档预览。当文档关闭时,我可以将该预览呈现为图像。但我应该在哪里保存该图像?在其他文件中?或者有没有指定的方法来做到这一点?在哪里存储UIDocument的预览?

现在我正在开发没有iCloud支持。但我想要一个可以与iCloud一起使用的解决方案。 UIDocumentUIManagedDocument。但是将图像保存到数据库中会使其毫无意义。因为那时我必须先打开文档才能看到预览。

你在这里推荐什么?在哪里预览UIManagedDocument

回答

1

您应该保存下(app_directory)/图书馆/缓存的图像。这样iCloud不会影响你的应用程序。

+3

但是这样。如果我将文档移动到iCloud中。预览在本机上是本地的。它不通过iCloud进行同步。这意味着我必须在每个客户端重新生成预览。为此我必须打开/关闭每个文档一次。 – V1ru8 2012-02-07 09:44:27

+0

然后您应该将其保存在(app_directory)/ Documents中。该文件夹中的所有内容都会自动与iCloud同步。 – Jorsh 2012-02-08 18:55:30

+0

很好的解决方案似乎是完美的。但是我将使用/ Library/Caches,然后重新生成所有设备上的所有预览。 – V1ru8 2012-02-10 13:46:54

2

可以目录和文档预览文件存储你的文件在你的无处不在容器的文件容器的数据目录。

如果预览文件的名称将基于文件名,你就可以使用元数据查询结果得到的文件名称,然后解析文档预览网址。

这样,您只能下载文档预览,而不能下载整个文档。

2

我不知道UIManagedDocuments,但在UIDocument的情况下,我会建议使用一个NSFileWrapper的文件格式(如该文件实际上是一个捆绑的文件夹),并保存在文档中预览,如“Preview.jpg”(或.png)位于标记为“QuickLook”的文件夹中。 这样,你也可以在Mac上的Finder中预览(免费)。

当然,这可能会或可能不会(也取决于如果你的文档是纯文本的)是一个理想的解决方案。但是对于一般的UIDocuments预览来说,这可能是一个很好的暗示。