Joh*_*nes 5 cocoa icloud nsfilecoordinator
使用NSFileCoordinator编写文件时,我需要指定正确的NSFileCoordinatorWritingOptions.虽然详细解释了,但我不知道何时使用哪一个.可用选项包括:
例如,如果我想创建一个文件(例如plist),那么哪个选项是正确的?我修改文件时哪一个?
有人可以解释NSFileCoordinatorWritingOptions以便更好地理解吗?
我同意,文档在这方面并不完整,而且难以理解.即使是像这样的基本操作,也没有可用的示例代码.
我尝试从其他具有特定文件打开的应用程序的角度考虑这些选项,这有助于全面了解.
不通过任何选项(0)来简单地更新文件并通知其他人您的更改.
假设您正在删除TextEdit当前显示的文件,通过提供NSFileCoordinatorWritingForDeleting选项,您告诉TextEdit关闭该文件,因为它不再存在(或者它可以建议将其保存到另一个地方,如果它在内存中).它的行为是因为删除.
如果您要覆盖文件(而不是更新文件),那么您希望其他应用程序具有相同的行为.这是NSFileCoordinatorWritingForReplacing.
NSFileCoordinatorWritingForMoving说其他应用程序跟踪文件到它的新位置,以便以后可以更新.
NSFileCoordinatorWritingForMerging要求其他进程首先提交其更改,以便您可以将自己的更改与这些更改合并.
要回答您的问题,您应该在创建新文件时使用NSFileCoordinatorWritingForReplacing(即使没有文件存在,因为它是从另一个应用程序同时出现的,您将用您自己的,不相关的内容替换它).而NSFileCoordinatorWritingForMerging应该用新数据更新现有的文件时使用,因为它允许立即整合到该文件的最新变化(而不是稍后解决冲突做).