NSMetadataQuery
发布NSMetadataQueryGatheringProgress
作为查询运行,然后NSMetadataQueryDidFinishGathering
,当它完成时。我收到了两个通知,而且工作正常。
我注意到,当我得到NSMetadaQueryDidFinishGathering
时,自从最后的收集进度以来,从来没有任何新的数据。是否一直保证如此?
我已经阅读了这两个常数的文档,而且我不清楚这是不是我想要的。
如果我处理NSMetadataQueryDidFinishGathering?
中的传入结果,这总能得到我的每一个结果吗?
答案 0 :(得分:1)
据我了解documentation这对于静态搜索来说是正确的,但对于实时搜索则不然。
在初始搜索(收集过程)后发送NSMetadataQueryDidFinishGathering
。您可以使用-stopQuery
停止在did done方法中的搜索。然后,当然,没有新的数据将被传递。
但您也可以使用-disableUpdate
暂停搜索。然后,您阅读结果并使用-enableUpdates
重新启动(实时)搜索。然后,您将在完成通知后获得更新,i。即当用户更改文件以匹配搜索条件时。