gpt4 book ai didi

cocoa - NSFileCoordinator正确用法

转载 作者:行者123 更新时间:2023-12-03 16:08:47 24 4
gpt4 key购买 nike

使用 NSFileCoordinator 写入文件时,我需要指定正确的 NSFileCoordinatorWritingOptions。虽然解释得很详细,但我不确定什么时候使用哪一个。可用的选项有:

  • NSFileCoordinatorWritingForDeleting
  • NSFileCoordinatorWritingForReplacing
  • NSFileCoordinatorWritingForMoving
  • NSFileCoordinatorWritingForMerging

例如,如果我想创建一个文件(例如 plist),哪个选项是正确的?当我修改文件时选择哪一个?

有人可以解释一下 NSFileCoordinatorWritingOptions 以便更好地理解吗?

最佳答案

我同意,这方面的文档并不完整,而且很难理解。即使对于这些基本操作也没有可用的示例代码。

我尝试从打开该特定文件的其他应用程序的角度来考虑这些选项,这有助于了解整个情况。

  • 不传递任何选项 (0),只需更新文件并通知其他人您的更改。

  • 假设您要删除 TextEdit 当前显示的文件,通过提供 NSFileCoordinatorWritingForDeleting 选项,您告诉 TextEdit 关闭该文件,因为它不再存在(或者它可能会如果它在内存中,建议将其保存到另一个地方)。它因删除而起作用。

  • 如果您要覆盖文件(而不是更新文件),您希望其他应用程序具有相同的行为。那是NSFileCoordinatorWritingForReplacing

  • NSFileCoordinatorWritingForMoving 表示其他应用将文件跟踪到新位置,以便稍后更新。

  • NSFileCoordinatorWritingForMerging 要求其他进程首先提交其更改,以便您可以将自己的更改与这些更改合并。

要回答您的问题,您应该在创建新文件时使用 NSFileCoordinatorWritingForReplacing (即使不存在文件,因为它同时从另一个应用程序中出现,您也会将其替换为您自己的不相关内容) 。在使用新数据更新现有文件时应使用 NSFileCoordinatorWritingForMerging,因为它允许立即将最新更改集成到该文件(而不是稍后解决冲突)。

关于cocoa - NSFileCoordinator正确用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11792987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com