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