JSONModel:MKAnnotation& CLLocationCoordinate2D

时间:2014-02-21 11:14:04

标签: ios objective-c json jsonmodel

我正在使用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

如何忽略坐标属性?

1 个答案:

答案 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键并自动为你生成一个位置结构。只是一个想法...