我正在使用MagicalRecord从我的服务器中提取json文件。除了设备对象外,我的所有对象都加载正常。这是JSON文件的日志
"Equipment":[
{
"equipmentID":1,
"equipmentName":"Barbell",
"equipmentDescription":"Barbell"
}
]
我的装备课是一个非常基本的设置
@property (nonatomic, retain) NSNumber * equipmentID;
@property (nonatomic, retain) NSString * equipmentName;
@property (nonatomic, retain) NSString * equipmentDescription;
在数据模型中,我将equipmentID作为Integer 16.如果我将其更改为Integer 64,那么我会收到此错误。
[__NSArrayM longLongValue]: unrecognized selector sent to instance
我不明白是什么问题,格式与同一JSON文件中的其他对象一致。设备ID显然是一个intValue,而设备类设置为NSNumber,设备ID为整数。
有任何帮助吗? Magical Record有错误吗?
答案 0 :(得分:1)
你需要写像,
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"];
答案 1 :(得分:0)
事实证明我的json是一种数组格式(应该从括号中知道)。我使用MR_importFromObject而不是MR_importFromArray。非常愚蠢的我。