我想使用NSDocument来存储我的应用程序的数据。我希望用户能够将图像嵌入到文档中。为了不在我的文档中存储嵌入图像的路径,我想嵌入他们的内容。
我已经看到,例如Keynote将所有图像存储在其文档中。我如何在我的课程中做类似的事情,扩展NSDocument?当我覆盖readFromData
和dataOfType
方法时,我必须处理NSData
,而这些方法不允许我这样做。我是否必须覆盖fromUrl
这样做?
或者我是否必须自己处理NSDocument为我做的所有低级别的东西,并自己创建NSFilePresenter
实现?
答案 0 :(得分:1)
您必须将文档设置为文件包装器,因此实际上它将成为一个目录,但Finder会将其显示为单个实体。使用的方法在NSDocument中:
使用这些而不是readFromData和dataOfType。您还需要阅读文件包装器(NSFileWrapper)。
我已经阅读了一些反对使用文件包装器的建议。我想我读到一些压缩程序无法正确归档和扩展它们,例如。通过电子邮件发送。我不认为这是苹果的建议,听起来更像是归档程序给我的缺点。