, 나는 다음과 같은 saveToURL 통화 (NSError의 할당이 해제 된 인스턴스에 보낸 메시지) 제목에 오류가있어 가능 할당이 해제 된 인스턴스에 보낸 메시지 추적은 다음과 같습니다 :- [NSError 유지] :</p> <pre><code>[aDocument saveToURL:aDocument.fileURL forSaveOperation:UIDocumentSaveForOverwriting completionHandler:^(BOOL success) { ... </code></pre> <p>스택 : 좀비와
aDocument이 UIManagedDocument의 서브 클래스의 인스턴스입니다. 내가 동시성 디버그를 가지고 있고 어떤 스레딩 충돌이 있는지 아직 보지 못했습니다. 어떻게 디버깅 할 수 있습니까?
편집 : 또한
__weak typeof(self) weakSelf = self;
[aDocument saveToURL:aDocument.fileURL forSaveOperation:UIDocumentSaveForOverwriting completionHandler:^(BOOL success) {
if (success) {
dispatch_async(dispatch_get_main_queue(), ^{
[weakSelf documentSaved:aDocument forRestoredAssessment:patientAssessment];
});
}
}];
EDIT 발생하는 같은 충돌에 다음 코드를 시도 : 현상금 그것은 완료 블록 코드를 호출하는 객체가 그 시간에 주위를하지 않을 수 있습니다 보인다
완성품 내부에서 뭐하고 있니? – ppalancica
이 메서드는 ... [self documentSaved : aDocument forRestoredAssessment : patientAssessment]; 엄청난 양의 것들이 있습니다. –
일반적으로 UIKit의 아무 것도 건드리지 않거나 메인 큐가 아닌 스레드의 UIKit과 직접적으로 관련이 있습니다. 나는 이것이 그 문제의 핵심이라고 생각할 것이다. – Mgetz