我正在尝试将 NSAttributedString 存储到 Core Data SQL 存储中。
我将属性设置为“可转换”,它是可选的,它不是瞬态的或索引的,并且值转换器名称设置为默认的“NSKeyedUnarchiveFromData”。在 .xcdatamodel 中并生成托管对象类,它在 .h 中有这个:
@property (nonatomic, retain) id Text; (I have tried changing id to NSAttributedString *Text)
这在.m中:
@dynamic Text;
我查看并将我的 NSManagedObject 的“.text”属性设置为属性字符串,然后在完成后执行:
NSError *error = nil;
[managedObjectContext save:&error];
这通过导致输出中出现此错误:
[NSCFType encodeWithCoder:]:无法识别的选择器发送到实例 0xc04edb0 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“ * -[NSCFType encodeWithCoder:]:无法识别的选择器发送到实例 0xc04edb0”
我已经检查了我存储到属性的类,它NSAttributedString
也是我检查responsesToSelector @selector(:)
的,这返回 true 非常困惑,因为这与错误消息相反?
请指教。
谢谢詹姆斯