Tite解释了错误:
Unacceptable type of value for attribute: property = "routinename"; desired type = NSString; given type = _NSArrayM;
我正在添加一个数组,用户可以从中生成并将其导入核心数据实体。
这是通过以下方式完成的:
viewDidLoad中
NSMutableArray *array = [[NSMutableArray alloc] init];
self.exTitle = array;
didSelectRowAtIndexPath方法
[self.exTitle addObject: info.name];
哪一切都正常,并将值添加到数组中。
要将其添加到我尝试的核心数据实体中:
-(IBAction) Done: (id)sender {
NSManagedObjectContext *context = [self managedObjectContext];
NSManagedObject *newDevice = [NSEntityDescription insertNewObjectForEntityForName:@"Routines" inManagedObjectContext: context];
[newDevice setValue:exTitle forKey: @"routinename"];
我可能遗漏了一些非常简单的东西,但我如何更正这一点,以便将数组添加到实体中的NSString格式化值中。
答案 0 :(得分:1)
错误告诉您确切的问题。 Core Data模型期望关键字“routinename”的对象类型是一个字符串。根据您发布的代码,extTitle
是一个数组。
修复数据模型,或者,如果需要,您可以编写一个方法将数组转换为字符串(尽管您可能应该转换为NSData
对象;