我正在使用MagicalRecord从服务器中提取json文件。除设备对象外,我的所有对象均加载正常。这是JSON文件的日志
"Equipment":[
{
"equipmentID":1,
"equipmentName":"Barbell",
"equipmentDescription":"Barbell"
}
]
我的设备 class 是一个非常基本的设置
@property (nonatomic, retain) NSNumber * equipmentID;
@property (nonatomic, retain) NSString * equipmentName;
@property (nonatomic, retain) NSString * equipmentDescription;
在数据模型中,我的equipmentID为Integer16。如果将其更改为Integer 64,则会收到此错误。
[__NSArrayM longLongValue]: unrecognized selector sent to instance
我不明白这是什么问题,格式与同一JSON文件中的其他对象一致。 equipmentID显然是一个intValue,并且Equipment类被设置为NSNumber,而equipmentID是一个整数。
有什么帮助吗? Magical Record是否有bug?
最佳答案
你需要这样写
self.equipmentID = [NSNumber numberWithInt:[[[[myDic objectForKey:@"Equipment"] objectAtIndex:0] objectForKey:@"equipmentID"] intValue]]; // Or floatValue or whatever you need.
self.equipmentName = [[[myDic objectForKey:@"Equipment"] objectAtIndex:0] objectForKey:@"equipmentName"];
self.equipmentDescription = [[[myDic objectForKey:@"Equipment"] objectAtIndex:0] objectForKey:@"equipmentDescription"];