1

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

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

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

如果我在 中处理传入的结果NSMetadataQueryDidFinishGathering?,那总是会得到我的每一个结果吗?

4

1 回答 1

1

据我了解的文档,这对于静态搜索是正确的,但对于实时搜索却不是这样。

ANSMetadataQueryDidFinishGathering初始搜索(收集过程)之后发送。然后您可以停止在您的完成方法中的搜索-stopQuery。然后,当然,不会传递新数据。

但您也可以简单地使用 暂停搜索-disableUpdate。然后您阅读结果并使用 重新启动(实时)搜索-enableUpdates。然后您将在完成通知后获得更新,即当用户更改文件以匹配搜索条件时。

于 2017-03-29T03:49:50.980 回答