我正在使用JSONModel(https://github.com/icanzilb/JSONModel)来处理我的JSON数据。我只是在我的CLLocationCoordinate2D
子类中添加JSONModel
属性时遇到问题,以便响应MKAnnotation
协议。由于传入的JSON不包含坐标字段,而是包含Lat&的分隔字段。 Lon,由于CLLocationCoordinate2D
不是对象,JSONModel
希望让我忽略协议。
这是我的代码:
@protocol Store @end
@interface Store : JSONModel <MKAnnotation>
@property (nonatomic, copy, readonly) NSString *Name;
@property (nonatomic, copy, readonly) NSNumber *Longitude;
@property (nonatomic, copy, readonly) NSNumber *Latitude;
//Can be ignored since it is not an object type.
@property (nonatomic, assign) CLLocationCoordinate2D <Ignore> coordinate;
@end
如何忽略坐标属性?
答案 0 :(得分:2)
请查看文档
http://cocoadocs.org/docsets/JSONModel/0.11.0/Classes/JSONModel.html#//api/name/propertyIsIgnored:
以下是您的模型的代码:
+ (BOOL)propertyIsIgnored:(NSString *)propertyName
{
if ([propertyName isEqualToString:@"coordinate"]) {
return YES;
}
return NO;
}
编辑:虽然如果我是你,我会做的是为坐标属性设置一个自定义变换器,它将读取2个传入的json键并自动为你生成一个位置结构。只是一个想法...