2011-06-06 123 views
0
NSError *error; 
if (managedObjectContext != nil) { 
    if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) { 
     DLog(@"Unresolved error %@, %@", error, [error userInfo]); 
     abort(); 
    } 
} 

在CoreDate中保存一些具有上述代碼的項目時,出現以下異常。 managedObjectContext有50個未解決的刪除和700個未解決的插入。顯然它的刪除存在問題。關於如何追蹤它的任何想法?嘗試保存CoreData時出現異常

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSSet0 removeObject:]: unrecognized selector sent to instance 0x61a4840' 
*** Call stack at first throw: 
(
    0 CoreFoundation      0x018d45a9 __exceptionPreprocess + 185 
    1 libobjc.A.dylib      0x01a28313 objc_exception_throw + 44 
    2 CoreFoundation      0x018d60bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187 
    3 CoreFoundation      0x01845966 ___forwarding___ + 966 
    4 CoreFoundation      0x01845522 _CF_forwarding_prep_0 + 50 
    5 CoreData       0x00ffa31d -[NSManagedObject(_NSInternalMethods) _excludeObject:fromPropertyWithKey:andIndex:] + 397 
    6 CoreData       0x00fef7d1 -[NSManagedObject(_NSInternalMethods) _maintainInverseRelationship:forProperty:oldDestination:newDestination:] + 449 
    7 CoreData       0x01043b55 -[NSManagedObject(_NSInternalMethods) _propagateDelete:] + 1541 
    8 CoreData       0x00ffa02a -[NSManagedObject(_NSInternalMethods) _propagateDelete] + 42 
    9 CoreData       0x00ff9e53 -[NSManagedObjectContext(_NSInternalChangeProcessing) _propagateDeletesUsingTable:] + 515 
    10 CoreData       0x00ff9c12 -[NSManagedObjectContext(_NSInternalChangeProcessing) _processDeletedObjects:] + 146 
    11 CoreData       0x00fecba8 -[NSManagedObjectContext(_NSInternalChangeProcessing) _propagatePendingDeletesAtEndOfEvent:] + 104 
    12 CoreData       0x00fb8982 -[NSManagedObjectContext(_NSInternalChangeProcessing) _processRecentChanges:] + 754 
    13 CoreData       0x00ff2715 -[NSManagedObjectContext save:] + 149 
    14 Ace Metrix iPad      0x00075153 +[CoreDataHelper saveCoreDate:] + 82 
    15 Ace Metrix iPad      0x0007a790 -[WSBreakingAds platformRequestFinishedWhidType:withResponse:] + 772 
    16 Ace Metrix iPad      0x00077c6d -[PlatformContainer operation:completedWithResponse:withNSManagedObjectContext:] + 1042 
    17 Ace Metrix iPad      0x000401ec -[WebServiceAuthServiceSoapBinding_getPartialAdvertisementsAfterDate connectionDidFinishLoading:] + 1209 
    18 Foundation       0x00182112 -[NSURLConnection(NSURLConnectionReallyInternal) sendDidFinishLoading] + 108 
    19 Foundation       0x0018206b _NSURLConnectionDidFinishLoading + 133 
    20 CFNetwork       0x00dec492 _ZN19URLConnectionClient23_clientDidFinishLoadingEPNS_26ClientConnectionEventQueueE + 220 
    21 CFNetwork       0x00eb76e1 _ZN19URLConnectionClient26ClientConnectionEventQueue33processAllEventsAndConsumePayloadEP20XConnectionEventInfoI12XClientEvent18XClientEventParamsEl + 293 
    22 CFNetwork       0x00de2c84 _ZN19URLConnectionClient13processEventsEv + 100 
    23 CFNetwork       0x00de2ad3 _ZN17MultiplexerSource7performEv + 251 
    24 CoreFoundation      0x018b58ff __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15 
    25 CoreFoundation      0x0181388b __CFRunLoopDoSources0 + 571 
    26 CoreFoundation      0x01812d86 __CFRunLoopRun + 470 
    27 CoreFoundation      0x01812840 CFRunLoopRunSpecific + 208 
    28 CoreFoundation      0x01812761 CFRunLoopRunInMode + 97 
    29 GraphicsServices     0x01e3e1c4 GSEventRunModal + 217 
    30 GraphicsServices     0x01e3e289 GSEventRun + 115 
    31 UIKit        0x003eec93 UIApplicationMain + 1160 
    32 Ace Metrix iPad      0x00002814 main + 102 
    33 Ace Metrix iPad      0x000027a5 start + 53 
) 
terminate called after throwing an instance of 'NSException' 

回答

1

您對NSSet不可改變的情況下調用removeObject:。確保您使用的設置是NSMutableSet的實例。如果您可以在實際執行刪除的位置發佈代碼,它可能會對我們有所幫助。

+0

實際上,這是removeObject:被調用的代碼。保存功能在內部進行調用。 – iHorse 2011-06-08 18:08:27

+0

好..那麼你如何執行刪除?你是否在遍歷過程中的任何關係? – octy 2011-06-08 18:10:20

+0

對象被標記爲刪除[managedObjectContext deleteObject:object];然後實際上在保存命令中被刪除。當對它們調用該函數時,這些對象位於NSArray中。 – iHorse 2011-06-08 18:25:10

相關問題