2013-09-27 2 views
4

핵심 데이터가 내 신경을 침범합니다. 이전 데이터를 삭제하고 서버에서받은 새 데이터를 삽입하려고합니다.[NSManagedObjectContext delete :] : 인스턴스로 전송 된 인식 할 수없는 선택 자

지금은 삭제 된 부분은 "sigabort"을 제공합니다

- [NSManagedObjectContext 삭제 :] : 05 : 56.592 응용 프로그램을 종료 *로 인해 인식 할 수없는 선택기 예를 0x522f550 2013년 9월 27일 (14)로 전송 캐치되지 않는 예외 'NSInvalidArgumentException', 이유 : '- [NSManagedObjectContext 삭제 :] : 인식 할 수없는 선택기 예를 0x522f550로 전송' * 먼저 던져 호출 스택 : (0x320f82a3 0x39d4797f 0x320fbe07 0x320fa531 0x32051f68 0x1b6c53 0x1868e5 0x3a15f11f 0x3a16d259 0x3a16d3b9 0x3a193a11 0x3a1938a4) 의 libC++ abi.dylib : thr이라는 이름의 종료

삭제하는 배경 nsmanagedobjectcontext 일어나는 예외 기인하는

PO 컨텍스트 NSManagedObjectContext 나 ​​문맥 객체 컨텍스트에 대한 포인터를 인쇄 쥐똥 나무 속의 식물 동시성 형 이다 0x522f550

po tmpCon.managedObjectContext NSManag edObjectContext :

 NSError *errorAllCons = nil; 
    NSFetchRequest *allevents = [[NSFetchRequest alloc] init]; 
    [allevents setEntity:[NSEntityDescription entityForName:@"TEventContact" inManagedObjectContext:context]]; 
    NSArray *allCons = [context executeFetchRequest:allevents error:&errorAllCons]; 
    for (TEventContact *tmpCon in allCons) 
    { 
     [context delete:tmpCon]; 
    } 

그것은 누군가가 나를 내가 뭘 잘못 알릴 수 [context delete:tmpCon]; 에 충돌 : 0x522f550>

및 삭제에 대한 코드는? 그것은 문맥을 저장하지 않고 객체 영구적으로

for (TEventContact *tmpCon in allCons) 
{ 
    [context deleteObject:tmpCon] /// for deleting object in context 
}  
[context save]; /// to reflect changes in database you need to save that context 

을 삭제하는

+1

'NSManagedObjectContext'에는'delete : 'method, maybe ['deleteObject :'] (https://developer.apple.com/library/ios/documentation/Cocoa/Reference/CoreDataFramework/Classes/NSManagedObjectContext_Class/NSManagedObjectContext.html#//apple_ref/occ/instm/NSManagedObjectContext/deleteObject :) – pNre

답변

24

및 다른 컨텍스트에 대해 DIRTY_READ가 발생할 수 있습니다.

2

이 같은 그것을 할 문제를 해결할 수

[context deleteObject:tmpCon]; 

사용이 데이터베이스에 반영되지 않습니다

관련 문제