core-data – 错误: – [UIImage _deleteExternalReferenceFromPermanentLocation]无法识别的选择器发送到实例

前端之家收集整理的这篇文章主要介绍了core-data – 错误: – [UIImage _deleteExternalReferenceFromPermanentLocation]无法识别的选择器发送到实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我删除包含图像的托管对象时,在外部记录中存储为可转换值,然后我崩溃并出现此错误
Terminating app due to uncaught exception 'NSInvalidArgumentException',reason: '-[UIImage _deleteExternalReferenceFromPermanentLocation]: unrecognized selector sent to instance 0xde49360'

解决方法

我在 Apple Developer forums回答了类似的事情.
我猜你在数据建模器中的那个字段上选择了外部存储复选框.

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

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

该物体变成了一个故障.当您下次访问它或删除它时,外部数据将按预期删除,因为包装外部数据的正确对象将从存储中提取并正确响应_deleteExternalReferenceFromPermanentLocation.

猜你在找的iOS相关文章