【发布时间】:2013-03-25 15:27:28
【问题描述】:
我正在创建一个 NSDocument 包,其中可能包含数百个大文件,因此我不想在打开文档时全部阅读。
我花了一些时间搜索,但找不到明确的答案。大多数人似乎认为NSFileWrapper 将所有数据加载到内存中,但有些人表示它不会加载数据,直到您在包装器上调用-regularFileContents。 (例如,请参阅Does NSFileWrapper load everything into memory? 和 Objective-C / Cocoa: Uploading Images, Working Memory, And Storage。)
文档并不完全清楚,但 NSFileWrapperReadingImmediate 和 NSFileWrapperReadingWithoutMapping 之类的选项似乎表明它并不总是会读取所有内容。
我推测NSFileWrapper 支持增量保存,只写出已被替换的子包装器。所以如果它也支持增量加载就好了。
有确定的答案吗?
【问题讨论】:
标签: macos cocoa lazy-loading nsdocument nsfilewrapper