我正在使用 JSONModel ( https://github.com/icanzilb/JSONModel ) 来处理我的 JSON 数据。我只是遇到与在我的 JSONModel
子类中添加 CLLocationCoordinate2D
属性相关的问题,以便响应 MKAnnotation
协议(protocol)。由于传入的 JSON 不包含坐标字段,而是包含纬度和经度的分隔字段,并且由于 CLLocationCoordinate2D
不是对象,JSONModel
想让我忽略协议(protocol)。
这是我的代码:
@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
如何忽略坐标属性?
最佳答案
只看文档
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 键并自动为你生成一个位置结构。只是一个想法...
关于ios - JSONModel:MKAnnotation & CLLocationCoordinate2D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21932837/