如何解决尝试保存CoreData时发生异常
|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\'
解决方法
您正在
NSSet
的不变实例上调用removeObject:
。确保您使用的集合是NSMutableSet
的实例。如果您可以将代码发布到实际执行删除的地方,这可能对我们有帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。