gpt4 book ai didi

objective-c - UIManagedDocument 和其他内容

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:24 25 4
gpt4 key购买 nike

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

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

因为我想显示一个包含所有预览的 ScrollView ,所以我想我不应该将预览放在数据库中,所以我正在使用 UIManagedDocument 的附加内容功能,如 here 所述.

我有几个问题:

  • 参数“absoluteURL”有什么用additionalContentForURL:error: ?它没有在示例中使用我链接了。

  • 如何在不打开文档的情况下检索预览?现在我这样做:

.

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];

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

最佳答案

  1. additionalContentForURL:error: 中的 absoluteURL 参数为您提供将写入附加内容的绝对 URL。

    对于大多数用例,这不是一个特别必要的参数,因为您实际上不需要知道这些数据将被写入何处,但在一些模糊的使用全局内容管理系统的用例中,它可能用作标识符独立于文档(尽管那可能不是很有结构)

  2. 您当前用于检索文档预览的方法应该没问题,只要您实现保护措施,以便您的应用不会崩溃或在预览资源不存在于您所在的路径中时出现未定义的行为无论出于何种原因,都希望如此。

    另一种获取预览的方法是加载每个文档,对其进行初始化,在文档类中实现 readAdditionalContentFromURL:error: 以读取预览并将其放入属性中,然后检索该属性的值并将其用作预览。但是,这需要将每个文档加载到内存中才能检索预览,因此我不建议这样做,因为它会严重影响性能。

有关如何处理 UIManagedDocument 中的附加内容的一般指南,请参阅 this answerthis question .

关于objective-c - UIManagedDocument 和其他内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14546236/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com