我正在 OS X 上编写一个基于文档的应用程序。这个应用程序的一个特点是“导入”功能。
此函数将从磁盘读取包含原始 BLOB 数据的数据文件,并且可以将其解析为一个或多个文档。对于这个功能,我将不得不以编程方式创建文档。主要问题是,它NSDocumentController
只有makeDocumentWithContentsOfURL:ofType:error:
从现有数据创建文档的方法。有几种方法可以创建我的文档,我想知道哪一种是最干净的方法。
- 我可以将文档的数据写入磁盘上的单独文件中,然后
makeDocumentWithContentsOfURL:ofType:error
为每个文件调用 :。这似乎相当不雅,并且可能会因大量数据而减慢应用程序的速度。 - 我可以使用创建空文档
NSDocumentController
并填写数据。 - 我可以在导入函数中创建文档并将它们添加到
NSDocumentController
withaddDocument:
方法中。我不知道这是否可行,因为这种方法似乎是子类化的钩子。 - 我可以子类
NSDocumentController
添加一个makeDocumentFromData:ofType:error:
方法。我认为这会很干净但更复杂。
你怎么看?
最好的问候,克里斯