首页 > 解决方案 > 为未在 OSX 查找器中显示的文件调用 setBadgeIdentifier:forURL: 是否安全?

问题描述

对于 OS X FIFinderSyncController,setBadgeIdentifier:forURL: 的文档说:

避免将徽章添加到 Finder 中未显示的项目。

如果为未在 Finder 中显示的项目调用它,是否有人知道它是否会导致任何问题?

finder 扩展需要做相当多的工作来跟踪 finder 看到的所有项目,然后只更新这些项目的徽章标识符。通知发现者更改任何徽章标识符并让发现者忽略呼叫(如果尚未看到)要简单得多。

我不打算在启动时为受监视文件夹中的所有项目调用 setBadgeIdentifier,而只是在发生某些事情时调用它,从而使徽章标识符发生变化。

标签: macosfindersync

解决方案


完整的报价是:

避免将徽章添加到 Finder 中未显示的项目。设置初始标记时,从 Finder Sync 扩展的 requestBadgeIdentifierForURL: 方法调用此方法。更新徽章时,仅对已收到徽章的项目调用此方法。

状态的文档requestBadgeIdentifierForURL:

每当新项目在 Finder 中可见时,重写此方法以接收通知。检查项目的状态,并设置适当的徽章。

因此,我相信“未在 Finder 中显示”建议意味着您应该使用requestBadgeIdentifierForURL:Finder 中出现项目时的通知。否则请避免添加徽章。


推荐阅读