属性的值不可接受的类型 - 所需类型NSstring

时间:2013-07-08 20:30:47

标签: ios core-data nsstring nsarray

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格式化值中。

1 个答案:

答案 0 :(得分:1)

错误告诉您确切的问题。 Core Data模型期望关键字“routinename”的对象类型是一个字符串。根据您发布的代码,extTitle是一个数组。

修复数据模型,或者,如果需要,您可以编写一个方法将数组转换为字符串(尽管您可能应该转换为NSData对象;