本文介绍了UIImage encodeWithCoder未识别的选择器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我收到这个错误,我不知道如何解决它。我刚刚添加了来自苹果示例(LazyTableImages)的懒惰加载与来自照片位置示例项目的UIImageToDataTransformer类。
I am getting this error and I have no idea how to fix it. I just added lazy loading from Apple's example (LazyTableImages) combined with the UIImageToDataTransformer class from the Photo Locations sample project.
2011-07-08 -[UIImage encodeWithCoder:]: unrecognized selector sent to instance 0x73af2e0 2011-07-08 *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIImage encodeWithCoder:]: unrecognized selector sent to instance 0x73af2e0' *** Call stack at first throw: ( 0 CoreFoundation 0x02e65919 __exceptionPreprocess + 185 1 libobjc.A.dylib 0x02fb35de objc_exception_throw + 47 2 CoreFoundation 0x02e6742b -[NSObject(NSObject) doesNotRecognizeSelector:] + 187 3 CoreFoundation 0x02dd7116 ___forwarding___ + 966 4 CoreFoundation 0x02dd6cd2 _CF_forwarding_prep_0 + 50 5 Foundation 0x02b46076 _encodeObject + 1076 6 Foundation 0x02b51495 +[NSKeyedArchiver archivedDataWithRootObject:] + 206 7 CoreData 0x0098e0f5 -[NSSQLiteConnection execute] + 2677 8 CoreData 0x009e00d2 -[NSSQLiteConnection updateRow:] + 354 9 CoreData 0x009df084 -[NSSQLConnection performAdapterOperations:] + 180 10 CoreData 0x009ded7e -[NSSQLCore _performChangesWithAdapterOps:] + 494 11 CoreData 0x009dd876 -[NSSQLCore performChanges] + 406 12 CoreData 0x009d7338 -[NSSQLCore saveChanges:] + 216 13 CoreData 0x00995539 -[NSSQLCore executeRequest:withContext:error:] + 409 14 CoreData 0x00a4411b -[NSPersistentStoreCoordinator executeRequest:withContext:error:] + 3691 15 CoreData 0x009cdc48 -[NSManagedObjectContext save:] + 712 16 Playing 0x0004b99d -[TheData saveEvent] + 93 17 Playing 0x00048097 -[TheData updateEvent:] + 1527 18 Playing 0x00047943 -[TheData runUpdateWithData:] + 659 19 CoreFoundation 0x02dd642d __invoking___ + 29 20 CoreFoundation 0x02dd6301 -[NSInvocation invoke] + 145 21 Foundation 0x02ba19a5 -[NSInvocationOperation main] + 51 22 Foundation 0x02b100c6 -[__NSOperationInternal start] + 747 23 Foundation 0x02b0fd1a ____startOperations_block_invoke_2 + 106 24 libSystem.B.dylib 0x924f1fc4 _dispatch_call_block_and_release + 16 25 libSystem.B.dylib 0x924e4292 _dispatch_worker_thread2 + 228 26 libSystem.B.dylib 0x924e3d21 _pthread_wqthread + 390 27 libSystem.B.dylib 0x924e3b66 start_wqthread + 30 ) terminate called after throwing an instance of 'NSException' sharedlibrary apply-load-rules all Current language: auto; currently objective-c
推荐答案
不符合 NSCoding 协议,并且(因此)不实现 encodeWithCoder:。
UIImage doesn't conform to the NSCoding protocol, and (as such) doesn't implement encodeWithCoder:. You may want to convert your image to a data representation (e.g., PNG data) and encode that, instead.
编辑:另请参阅解决方法。
See also this answer for a workaround.
这篇关于UIImage encodeWithCoder未识别的选择器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!