这个错误很奇怪,因为它在程序运行时会在某些时刻发生。保存上下文大约三十次后,程序崩溃。
你可以指出我的错误来帮助我吗?谢谢!
-[NSCFNumber UTF8String]: unrecognized selector sent to instance 0x5a627f0 2011-05-19 17:17:38.650 DMC to Go[16892:40b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFNumber UTF8String]: unrecognized selector sent to instance 0x5a627f0' *** Call stack at first throw: ( 0 CoreFoundation 0x015d95a9 __exceptionPreprocess + 185 1 libobjc.A.dylib 0x0172d313 objc_exception_throw + 44 2 CoreFoundation 0x015db0bb -[NSObject(NSObject) doesNotRecognizeSelector:] + 187 3 CoreFoundation 0x0154a966 ___forwarding___ + 966 4 CoreFoundation 0x0154a522 _CF_forwarding_prep_0 + 50 5 CoreData 0x002f970f -[NSSQLiteConnection execute] + 1231 6 CoreData 0x0034bebd -[NSSQLiteConnection updateRow:] + 365 7 CoreData 0x0034ae64 -[NSSQLConnection performAdapterOperations:] + 180 8 CoreData 0x0034ab0e -[NSSQLCore _performChangesWithAdapterOps:] + 494 9 CoreData 0x003495ea -[NSSQLCore performChanges] + 410 10 CoreData 0x00343038 -[NSSQLCore saveChanges:] + 216 11 CoreData 0x00301199 -[NSSQLCore executeRequest:withContext:error:] + 409 12 CoreData 0x003b170b -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 3691 13 CoreData 0x00339948 -[NSManagedObjectContext save:] + 712 14 DMC to Go 0x00002f9b -[dmcIpadAppDelegate saveManagedObjectChanges] + 107 15 DMC to Go 0x00020c25 +[DmcIpadAppDelegate saveManagedObjectChanges] + 117 16 DMC to Go 0x000276e3 -[DownloadFileService observeValueForKeyPath:ofObject:change:context:] + 867 17 Foundation 0x00faf1e4 NSKeyValueNotifyObserver + 361 18 Foundation 0x00faeca6 NSKeyValueDidChange + 384 19 Foundation 0x00f953e2 -[NSObject(NSKeyValueObserverNotification) didChangeValueForKey:] + 123 20 DMC to Go 0x0002c4d4 -[DownloadManager connectionDidFinishLoading:] + 836 21 Foundation 0x00fd5112 -[NSURLConnection(NSURLConnectionReallyInternal) sendDidFinishLoading] + 108 22 Foundation 0x00fd506b _NSURLConnectionDidFinishLoading + 133 23 CFNetwork 0x01dda48e _ZN19URLConnectionClient23_clientDidFinishLoadingEPNS_26ClientConnectionEventQueueE + 220 24 CFNetwork 0x01ea56e1 _ZN19URLConnectionClient26ClientConnectionEventQueue33processAllEventsAndConsumePayloadEP20XConnectionEventInfoI12XClientEvent18XClientEventParamsEl + 293 25 CFNetwork 0x01dd0c80 _ZN19URLConnectionClient13processEventsEv + 100 26 CFNetwork 0x01dd0acf _ZN17MultiplexerSource7performEv + 251 27 CoreFoundation 0x015ba8ff __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15 28 CoreFoundation 0x0151888b __CFRunLoopDoSources0 + 571 29 CoreFoundation 0x01517d86 __CFRunLoopRun + 470 30 CoreFoundation 0x01517840 CFRunLoopRunSpecific + 208 31 CoreFoundation 0x01517761 CFRunLoopRunInMode + 97 32 GraphicsServices 0x0202b1c4 GSEventRunModal + 217 33 GraphicsServices 0x0202b289 GSEventRun + 115 34 UIKit 0x00839c93 UIApplicationMain + 1160 35 DMC to Go 0x00001db9 main + 121 36 DMC to Go 0x00001d35 start + 53 37 ??? 0x00000001 0x0 + 1 ) terminate called after throwing an instance of 'NSException' Current language: auto; currently objective-c kill quit
答案 0 :(得分:1)
看起来你试图从NSNumber中提取NSString信息。您可以查看此Q / A以获取有关故障排除的帮助:Core Data save exception
答案 1 :(得分:1)
Something期望NSNumber对象是NSString对象。我的猜测是模型有一个带有字符串属性的实体,但是与模型中该实体对应的NSManagedObject的子类具有NSNumber属性。可能模型已更改,并且关联的类定义不同步。也许它是一个对大多数对象都是空的可选属性,然后当它最终被使用时,三十个保存到应用程序的运行中,它会触发此异常。