2014-04-22 6 views
0

iCloud를 사용하려고하는데 응용 프로그램이 NSMetadataQueryDidFinishGatheringNotification에 등록 된 NSMetadataQuery 업데이트를 수신하고 있습니다.UIDocument openWithCompletionHandler : NSMetadataQuery를 업데이트하도록합니다.

앱에서 내가 openWithCompletionHandler:를 사용하여 일부 iCloud에 UIDocument 파일을 읽을 알림을 수신하지만 전화가 다시 나오면 통지 NSMetadataQuery 원인 때문에 응용 프로그램이

openWithCompletionHandler: 이런 식으로 행동해야 update > read > update > read > … 끝없는 순환에 도착? 그런 사이클을 막기 위해 무엇을 할 수 있습니까?

답변

-1

openWithCompletionHandler :이 방식으로 작동합니까?

정확하지 않습니다. NSMetadataQuery 업데이트를 알립니다.

  • (NSMetadataQueryDidUpdateNotification이)가 iCloud에 업데이트 데이터 (iCloud에 샌드 박스에서 파일 을 업로드하거나 샌드 박스에 아이 클라우드에서 파일을 다운로드)이

  • 당신이 [_query startQuery] 전화, 그것은 NSMetadataQueryDidFinishGatheringNotification를 호출 것을 의미한다 : 그것은에 의해 발생 하나만 iCloud에서 데이터를 알립니다. 그 후, 때 데이터는 당신이 아이 클라우드에서 새로운 데이터가있을 때, 당신은 당신의 화면에 데이터를 업데이트해야하기 때문에이 원 올바른 생각 갱신 NSMetadataQueryDidUpdateNotification

있습니다.

희망 사항이 정보는 도움이됩니다.

+0

하지만 새로운 데이터에 액세스 할 때 NSMetadataQueryDidUpdateNotification 호출이 발생합니다. 그냥 openWithCompletionHandler를 호출하기 때문에 : – Indoor

+0

테스트하자 : 모든 데이터가 나올 때까지 기다린다. 그런 다음 openWithCompletionHandler에 의해 1 개의 UIDocument를 엽니 다. 나는 NSMetadataQueryDidUpdateNotification가 호출하지 않을 것이라고 확신한다. – nmh

관련 문제