core-data - 错误 : -[UIImage _deleteExternalReferenceFromPermanentLocation] unrecognized selector sent to instance

标签 core-data ios5 transformable

当我删除一个包含图像的托管对象时,该对象存储为外部记录中的可转换值,然后我崩溃并出现此错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIImage _deleteExternalReferenceFromPermanentLocation]: unrecognized selector sent to instance 0xde49360' 

最佳答案

我在 Apple Developer forums 中回答了类似的问题.
我猜您在数据建模器的该字段上选择了外部存储复选框。

有一个可以解决的错误。我是这样做的:
一旦您更新了数据并保存了上下文,任何删除它的尝试都会引发此“无法识别的选择器”异常。
要强制使用可以响应 _deleteExternalReferenceFromPermanentLocation 消息的正确对象,请执行以下操作:

[[self managedObjectContext] refreshObject:myobject mergeChanges:NO];

对象变为故障。当您下次访问或删除它时,外部数据将按预期删除,因为包装外部数据的正确对象将从存储中拉出并正确响应 _deleteExternalReferenceFromPermanentLocation。

关于core-data - 错误 : -[UIImage _deleteExternalReferenceFromPermanentLocation] unrecognized selector sent to instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7930427/

相关文章:

ios - Swift 和 CoreData 使用自定义类作为可转换对象

Objective-C 错误 : Property 'active' is a scalar type on class 'Routine' . 无法为其生成 getter 方法

iphone - 基于 Core Data 的 iPhone 应用程序的默认数据集

objective-c - 如何在核心数据实体中本地化属性的默认值

iphone - 如何获取保存在文档目录中的视频的缩略图

ios - Transformable Type 和 NSValueTransformer 执行

ios - NSFetchedResultsController 与 NSPredicate

ios - 为了用户的利益考虑 iPhone 应用程序中的网络流量

iphone - IOS5 中的本地通知 - 如何让它在屏幕上弹出而不是在通知中心?

swift - 将 UIColor 存储在 CoreData 中