Dhe*_*eti 4 core-data ios nsvaluetransformer
嗨,我已经使用了属性类型transformable,我已经遵循论坛中的一个归档程序.
但它说
CoreData:警告:未找到实体'SurveyData'属性'survey'的类名为"SurveyResults"的NSValueTransformer 2013-04-30 09:44:16.022 TestReachability [11641:c07] - [SurveyApplication encodeWithCoder:]:无法识别的选择器已发送示例0x845cb00 2013-04-30 09:44:16.023 TestReachability [11641:c07] *由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [SurveyApplication encodeWithCoder:]:无法识别的选择器发送到实例0x845cb00'
这是我的代码
SurveyApplication *survey =[[SurveyApplication alloc]init];
survey.name=@"dheeraj";
survey.phone=@"573-356-2598";
NSManagedObject *aStory = [NSEntityDescription insertNewObjectForEntityForName:@"SurveyData"inManagedObjectContext:self.managedObjectContext];
[aStory setValue:survey forKey:@"survey"];
NSError *saveError = [[NSError alloc]init];
if (![self.managedObjectContext save:&saveError]) {
NSLog(@"%@",saveError);
}
Run Code Online (Sandbox Code Playgroud)
SurveyAppplication对象是我的自定义类,我试图创建一个对象然后存储它的核心数据.请你帮帮我.
谢谢Dheeraj
仅使属性可转换是不够的,您还需要安排转换发生.您不能只告诉Core Data转换任何旧对象并期望它知道该做什么.你有几个选择:
不要告诉Core Data如何转换数据.在这种情况下,Core Data将尝试调用encodeWithCoder:您的对象将其转换为NSData.这就是为什么你得到提到这个方法的错误 - 它试图在你的类上调用该方法,但该方法不存在.在这种情况下,您的类必须符合要NSCoding进行的转换.
告诉核心数据如何转换数据.在这种情况下,您将创建一个NSValueTransformer执行转换的子类.您可以在Core Data模型编辑器或代码中对属性进行配置.在这种情况下,您必须具有知道如何执行转换的自定义转换器类.
| 归档时间: |
|
| 查看次数: |
2336 次 |
| 最近记录: |