如果我观看每个 NSMetadataQueryGatheringProgress,我是否需要 NSMetadataQueryDidFinishGathering?

Do I need NSMetadataQueryDidFinishGathering, if I watch every NSMetadataQueryGatheringProgress?

NSMetadataQuery 在查询运行时发布 NSMetadataQueryGatheringProgress,然后在查询完成后发布 NSMetadataQueryDidFinishGathering。我收到了这两个通知,它们工作正常。

不过,我注意到,当我得到 NSMetadaQueryDidFinishGathering 时,自从最终收集进度以来就再也没有任何新数据了。是否保证始终如此?

我已经阅读了这两个常量的文档,但我不清楚这是否符合预期。

如果我在 NSMetadataQueryDidFinishGathering? 中处理传入结果,是否总能得到所有结果?

据我了解 documentation 这对于静态搜索是正确的,但对于实时搜索则不然。

A NSMetadataQueryDidFinishGathering 初始 搜索(收集过程)之后发送。您可以使用 -stopQuery 停止在您的 did finish 方法中的搜索。然后,当然不会传递任何新数据。

但您也可以使用 -disableUpdate 暂停搜索。然后您阅读结果并使用 -enableUpdates 重新启动(实时)搜索。然后你会在完成通知后得到更新,我。 e.当用户更改文件以匹配搜索条件时。