NSError *error;
if (managedObjectContext != nil) {
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
DLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}
在CoreDate中使用上述代码保存一些项目时,我得到以下异常。 managedObjectContext有50个未解析的删除和700个未解析的插入。显然它有删除问题。关于如何追踪它的任何想法?
*** 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'
答案 0 :(得分:1)
您正在removeObject:
的不可变实例上调用NSSet
。确保您使用的集合是NSMutableSet
的实例。如果你可以在实际执行删除的地方发布代码,它可能对我们有所帮助。