2013-04-22 59 views
0

我正在写一个应用程序使用核心数据,在一个实体中具有此属性:
@property(nonatomic,retain)NSString * mesa;属性值不可接受的类型,但类型是好的

我具有由JSON处理字典传递值的问题:
local.mesa = [区域设置[0] valueForKey:@ “台面”];

我获得此错误:
'NSInvalidArgumentException' 的,原因:“不可接受的类型为属性值:属性= “台面”;期望的类型= NSNumber;给定类型= __NSCFString;价值=Salón2.'

这表明我想要的类型是NSNumber,但是属性在xcdatamodel和类中声明为NSString。

该属性的第一个声明可能是NSNumber,并且好像他没有改变。

任何想法?

+1

确保它在模型中是NSString,然后重新生成NSManagedObject文件。如果您更改了模型中某个项目的数据类型,则应该不要处理核心数据生成的NSmanagedObject文件 – 2013-04-22 16:25:24

+1

,您应该在再次运行之前清理构建并删除任何现有的数据库文件。 – Wain 2013-04-22 16:36:44

+0

谢谢,但我如何重新生成NSManagedObject文件?我已经清理并构建了该产品,但我没有删除任何数据库 – Paco 2013-04-22 16:46:28

回答

1

如果架构在仿真器中有一个nsnumber,那么从模拟器中删除您的应用程序,以便在该变量中使用nsstring创建新的核心数据库。

相关问题