2013-06-10 3 views
0

내보기에서 필자는 여러 번의 인출 요청을 실행합니다. 첫 번째 가져 오기 요청에서 항목을 발견해야 함을 알았음에도 불구하고 아무 것도 발견되지 않았습니다. 첫 번째 가져 오기 요청을 실행하기 전에 주 스레드를 잠자기 시도하고 충분한 항목을 찾았습니다. 나는 시뮬레이터에서 너무 btw 만 실행 중이다.iOS 핵심 데이터 "초기화 시간"?

내 질문은, 코어 데이터가 "초기화"또는 아무것도 시간이 좀 걸립니까? 기기에서 테스트 할 때 걱정할 필요가 있습니까 (아직 개발자 자격이 없기 때문에 기기에서 테스트 할 수 없습니다). 페치 요청을 실행하는 것이 안전 할 경우 "확인"할 수있는 방법이 있습니까?

또한 지연없이 첫 번째 가져 오기 요청에 대한 NSError를 확인했으며 null입니다.

편집 :

내 viewWillAppear 코드가 그래서 여기있다 요청했다. 별로 도움이되지 않습니다.

[NSThread sleepForTimeInterval:0.1]; 
    for (NSString *category in self.categories) { 
     [self updateSection:category]; 
    } 

self.cateogires는 내 테이블보기 및 updateSection의 섹션입니다. 섹션을 업데이트하십시오.

EDIT2 :

는 좀 더 NSLog 문으로 조사하고 여기에 내가 무엇을 발견했다.

페치 요청 후 발견되는 객체 수와 문서의 현재 상태를 기록하는 NSLog 문을 추가했습니다. 어떤 이유로 문서가 닫힌 것처럼 보일지라도 결과를 가져옵니다.

Category1 has 3 values 
Doc is open? NO 
Category2 has 6 values 
Doc is open? NO 
Category3 has 3 values 
Doc is open? NO 
Category4 has 2 values 
Doc is open? NO 

나는 내 문제는 내가의 completionHandler 사용하지 오전 생각 [myManagedDocument openWithCompletionHandler을 :] 기다렸다가 내 가져 오기 요청을 실행 할 수 있습니다. 그러나 문서가 닫힐 때 쿼리를 수행하는 이유는 무엇입니까?

+0

viewWillAppear 메서드에서 코드를 게시 할 수 있습니까? – Alex

+0

관리 객체 컨텍스트 또는 영구 저장소 코디네이터 또는 퍼시스턴스 스택의 모든 것이 초기화되지 않았으며 nil입니까? nil 객체에 대해 fetch 요청을 호출하면 오류가 발생하지 않으며 nil 호출에 대한 Objective-C 정책에 따라 아무 작업도 수행하지 않습니다. – morningstar

+0

또는 영구 저장소 코디네이터가 있지만 영구 저장소를 아직 추가하지 않은 것 같습니다. 오류는 있지만 확실하지는 않습니다. – morningstar

답변

0

난 당신이 changingconcurrency type

NSMainQueueConcurrencyType

에 시도하는 것이 좋습니다. 그러면 작업이 순차적으로 수행됩니다.

관련 문제