我使用JSONModel (https://github.com/icanzilb/JSONModel)来处理我的JSON数据。我只是遇到了在JSONModel子类中添加CLLocationCoordinate2D属性以响应MKAnnotation协议的问题。由于传入的JSON不包含坐标字段,而是用纬度和纬度分隔字段,而且由于CLLocationCoordinate2D不是对象,JSONModel want让我忽略协议。
这是我的代码:
@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如何忽略坐标属性?
发布于 2014-02-21 19:34:47
只需查看文档
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键并自动为您生成一个位置结构。只是一个想法..。
https://stackoverflow.com/questions/21932837
复制相似问题