Apple的基于文档的应用程序编程指南(适用于iOS)显示了构建FileRepresentation对象列表以显示文档索引的示例代码。最初不会创建任何UIDocument实例。然后,打开文档时,将创建UIDocument子类实例。关于这个设计的指南最多的是:
示例应用程序现在有一个自定义模型对象的数组(_fileList),它封装了每个应用程序文档的名称和文件URL。 (FileRepresentation是这些对象的自定义类。)
为什么使用这个FileRepresentation对象而不是仅仅创建一个UIDocuments列表?创建UIDocument是否有开销,即使它没有打开?如果我希望我的文件选择器监听iCloud冲突(这需要一个UIDocument实例)怎么办?
如果我可以将UIDocument实例存储在我的文件列表中,用于处理iCloud冲突,以及用户在文档打开时更改文档名称,那将更加优雅。
答案 0 :(得分:1)
为什么使用此FileRepresentation对象而不是仅创建一个 UIDocuments列表?
理论上你可以使用UIDocument
。他们不在文档中的原因是UIDocument
的子类可以以内存密集的方式实现。创建一个只管理名称和URL的对象是确保低内存使用量的简单方法,直到您需要UIDocument
类的其余部分为止。