예외 중단 점을 사용할 때 아래에서이 코드에 대한 예외가 있습니다.iOS - 관리 객체 컨텍스트 예외
이유는 모르겠지만 앱을 실행할 때마다 중단 점 트리거가 실행됩니다.
예외 중단 점에 대해 이해할 수없는 항목이 있습니까, 아니면 관리 대상 개체 컨텍스트에서 조사해야합니까?
편집 :
코드 예제 :
-(void)parseJson
{
_resultArray = [[NSMutableArray alloc]init];
BOOL success = YES;
NSError *saveError = nil;
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mergeCoreDataChangesToMainContext:) name:NSManagedObjectContextDidSaveNotification object:self.managedObjectContext];
[self doCustomActionBeforeParsing];
for (NSDictionary* entries in _jsonArray) {
id aMTLObject = [[MTLDatabaseManager sharedInstance] mantleObjectModel:_modelClass anItem:entries];
[self doCustomActionBeforeCoreDataInsertionOfMantleObject:aMTLObject];
[[MTLDatabaseManager sharedInstance] insertMantleObjectInContext:aMTLObject aManagedObjectContext:self.managedObjectContext];
if ([self isCancelled])
break;
}
if (![self isCancelled] && [self.managedObjectContext hasChanges]) {
[self.managedObjectContext performBlockAndWait:^{
success = [self.managedObjectContext save:&saveError];
}];
}
if (![self isCancelled]) {
dispatch_async(dispatch_get_main_queue(), ^{
if (success) {
[self.delegate parserDidFinishParsingOperation:self fromUrl:self.dataUrl];
} else {
[self.delegate parserOperation:self didFailParsingOperationWithError:saveError fromUrl:self.dataUrl];
}
});
}
[[NSNotificationCenter defaultCenter] removeObserver:self name:NSManagedObjectContextDidSaveNotification object:self.managedObjectContext];
}
이 당신이 performAndWait 블록을 사용하는 방법이 있나요?
예외 중단 점은이 라인에서 트리거 : 나는 우리가 특정 예외를 무시할 수 있습니다이 게시물에서 본
success = [self.managedObjectContext save:&saveError];
CoreData 예외를 무시하는 것이 좋습니까? (나는 그렇지 않다).
로그를 확인하려면이 줄에 개체가 있어야합니다. – Amanpreet
예외가 발생하는 행을 지정하고 예외는 무엇입니까? –
질문이 수정되었습니다. – Balanced