2017-03-29 7 views
1

NSMetadataQuery 게시물 NSMetadataQueryGatheringProgress 쿼리가 실행될 때 NSMetadataQueryDidFinishGathering이 완료되면이 메시지가 나타납니다. 두 가지 알림을 모두 받고 있는데 제대로 작동합니다.모든 NSMetadataQueryGatheringProgress를 보면 NSMetadataQueryDidFinishGathering이 필요합니까?

나는 NSMetadaQueryDidFinishGathering을 얻었을 때 최종 수집이 진행된 이래로 새로운 데이터가 전혀 없음을 알았습니다. 항상 보장 될 것입니까?

이 두 가지 상수에 대한 문서를 읽었으며 의도 한 것이 맞는지 분명하지 않습니다.

들어오는 결과를 NSMetadataQueryDidFinishGathering?으로 처리하면 모든 결과가 항상 표시됩니까?

답변

1

필자가 documentation을 이해하는 한 정적 검색의 경우에는 해당되지만 실제 검색의 경우에는 해당되지 않습니다.

NSMetadataQueryDidFinishGathering초기에 검색 (수집 프로세스) 이후에 전송됩니다. 당신은 -stopQuery으로 완료 마침 방법 내에서 검색을 중단 할 수 있습니다. 그런 다음 새로운 데이터는 전달되지 않습니다.

그러나 -disableUpdate으로 검색을 일시 중지 할 수도 있습니다. 그런 다음 결과를 읽고 -enableUpdates으로 (실시간) 검색을 다시 시작합니다. 그런 다음 알림을 마친 후 업데이트를 받게됩니다. 이자형. 사용자가 파일을 검색 조건과 일치하도록 변경하는 경우

+0

예, 언급 했어야합니다. 나는 단지 "수집"을하고,'NSMetadataQueryDidFinishGathering' 블록에서'query.stop()'을 호출하고있다. 나는 어떤 "갱신"도하지 않고있다. – Ssswift

관련 문제