首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIManagedDocument和附加内容

UIManagedDocument和附加内容
EN

Stack Overflow用户
提问于 2013-01-27 09:55:55
回答 1查看 237关注 0票数 4

我有一个基于文档的应用程序(多个文档,每个文档都有自己的核心数据持久存储)。我正在使用UIManagedDocument来开发它。

每个文档都是一个绘图,我希望能够保存每个绘图的预览(UIImage)。

由于我想显示一个带有所有预览的scrollView,我想我不应该在数据库中设置预览,所以我使用了UIManagedDocument的附加内容特性,如描述的here

我有几个问题:

  • 参数"absoluteURL“在additionalContentForURL:error:中有什么用途?在我链接的例子中没有用到它。
  • 如何在不打开文档的情况下检索预览?目前我正在做这个:

代码语言:javascript
复制
NSString* docName = [[[DocumentStore sharedStore] documentsList] 
                                    objectAtIndex:indexPath.row];

NSString* dataDirectory = [FileUtils privateDataDirectory];
NSString *dataPath = [dataDirectory stringByAppendingPathComponent:docName];
NSString *imagePath = [dataPath 
             stringByAppendingPathComponent:@"AdditionalContent/thumb.png"];

UIImage * preview = [UIImage imageWithContentsOfFile:imagePath];

..。但我不确定这是不是最好的方法。

EN

回答 1

Stack Overflow用户

发布于 2013-05-11 06:11:49

  1. absoluteURL参数在additionalContentForURL:error:中为您提供了要写入附加内容的绝对URL。 对于大多数用例来说,这并不是一个特别必要的参数,因为您实际上不需要知道这些数据将写到哪里,但是在一些不知名的用例中,它可以作为一个标识符,它具有独立于文档的全局内容管理系统(尽管这可能不是很好的结构)。
  2. 您目前用于检索文档预览的方法应该是可以的,只要您实现了保护措施,如果预览资源不存在于您期望的路径上,则应用程序将不会崩溃或显示未定义的行为,无论出于何种原因。 获取预览的另一种方法是加载每个文档,初始化它,在document类中实现readAdditionalContentFromURL:error:来读取预览并将其放入属性中,然后检索该属性的值并将其用作预览。但是,这需要将每个文档加载到内存中才能检索预览,因此我不建议这样做,因为它会对性能产生严重影响。

有关如何在UIManagedDocument中处理其他内容的一般指南,请参阅this answer to this question

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14546236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档