1

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

4

1 回答 1

1

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

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

于 2013-07-08T21:11:39.050 回答