Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在哪里存储UIDocument的预览?_Iphone_Ios_Cocoa Touch_Ios5_Uidocument - Fatal编程技术网

Iphone 在哪里存储UIDocument的预览?

Iphone 在哪里存储UIDocument的预览?,iphone,ios,cocoa-touch,ios5,uidocument,Iphone,Ios,Cocoa Touch,Ios5,Uidocument,我正在使用UIDocument应用程序,我希望在用户打开文档之前向其显示文档预览。当文档关闭时,我可以将预览渲染成图像。但是我应该把那张照片保存在哪里呢?在另一个文件中?或者有没有指定的方法来实现这一点 现在我在没有iCloud支持的情况下开发它。但我想有一个解决方案,可以与iCloud一起使用。ui文档是一个ui管理文档。但是将图像保存到数据库中会使它变得毫无意义。因为我必须在预览之前打开文档 你推荐什么?在哪里放置UIManagedDocument的预览 您应该在(app_目录)/Libra

我正在使用
UIDocument
应用程序,我希望在用户打开文档之前向其显示文档预览。当文档关闭时,我可以将预览渲染成图像。但是我应该把那张照片保存在哪里呢?在另一个文件中?或者有没有指定的方法来实现这一点

现在我在没有iCloud支持的情况下开发它。但我想有一个解决方案,可以与iCloud一起使用。
ui文档
是一个
ui管理文档
。但是将图像保存到数据库中会使它变得毫无意义。因为我必须在预览之前打开文档


你推荐什么?在哪里放置
UIManagedDocument的预览

您应该在(app_目录)/Library/Caches下保存图像。这样,iCloud就不会影响你的应用程序。

你可以将你的文档存储在ubiquity容器的文档目录中,并将文档预览文件存储在容器的数据目录中

如果预览文件名将基于文档名,则可以使用元数据查询结果获取文档名,然后解析文档预览URL

通过这种方式,您可以只下载文档预览,而不下载整个文档。

我不知道UIManagedDocuments,但对于UIDocument,我建议使用NSFileWrapper作为文件格式(其中文档实际上是一个捆绑文件夹),并将预览保存在文档中,作为“preview.jpg”(或.png)在标签为“QuickLook”的文件夹中。 这样,你也可以在Mac上获得Finder预览版(免费)


当然,这可能是也可能不是一个理想的解决方案(还取决于您的文档是否为纯文本)。但这可能是一个很好的提示,用于处理UIDocuments的预览。如果我将文档移动到iCloud中。预览在此计算机上是本地的。而且它不能在iCloud上同步。这意味着我必须在每个客户端上重新生成预览。为此,我必须打开/关闭每个文档一次。然后您应该将其保存在(app_目录)/Documents中。文件夹中的所有内容都会自动与iCloud同步。没有一种解决方案是完美的。但我将使用/Library/Caches,然后在所有设备上重新生成所有预览。实际上,根据wwdc12资料,建议将预览文件存储在ubiquity container-1的数据目录中