24.yymodel碰到的坑2017.6

获取数据是最重要的,数据都拿不到,怎么做功能呢

后台返回的json数据格式如下

图片.png

分析下:SearchKeys是一个key,value就是三个数组
每个数组里面又是字典,字典里面又有模型。感觉有点乱啦
1.定义一级模型DCNationModel,全部小写

#import "DCNationSearchModel.h"

@interface DCNationModel : NSObject
@property(nonatomic,strong)NSArray *searchKey;//数组
@property(nonatomic,copy)NSString *type;//类型:城市名、酒店、地址
@property(nonatomic,assign)NSInteger count;//记录条数

.m文件实现yymodel的第一个方法

+ (nullable NSDictionary<NSString *, id> *)modelCustomPropertyMapper
{
    return @{
             @"type":@"Type",
             @"count":@"Count",
             @"searchKey":@"SearchKey"             
             };
}

因为一级模型嵌套二级模型,model有model,就是searchKey
所以还需要实现第二个方法。坑在这个地方。一开始定义searchKey为DCNationSearchModel searchKey,老是显示不出来,


图片.png

后面才发现它是数组来的,每个数组对应一个model。

+ (NSDictionary *)modelContainerPropertyGenericClass{
    return @{
             @"searchKey":[DCNationSearchModel class],
          
             };
}

总结://通过实现 协议中的 modelContainerPropertyGenericClass,返回 Model 属性容器中需要存放的对象类型,YYModel 会自动进行处理。对象类型可以是 Class 或者 Class name


2.现在定义二级模型DCNationSearchModel
.h

#import "DCNationMap.h"
@interface DCNationSearchModel : NSObject

@property(nonatomic,copy)NSString *Type;
@property(nonatomic,assign)NSInteger Value;
@property(nonatomic,copy)NSString *Key;
@property(nonatomic)DCNationMap *MapPoint;//注意这里!
@property(nonatomic,assign)NSArray *Tags;

对应后台返回JSON中的大写,一模一样。
现在出现三级模型DCNationMap,所以
.m文件中

+ (NSDictionary *)modelContainerPropertyGenericClass{
    return @{
             @"MapPoint":[DCNationMap class],
             
             };
}

3.现在定义三级模型DCNationMap
.h文件 定义属性大写和后台返回一样

@interface DCNationMap : NSObject
//地图类型,B(百度)、T(腾讯)、G(谷歌)
@property (nonatomic, strong) NSString *MapType;
//经度
@property (nonatomic, assign) double Longitude;
//纬度
@property (nonatomic, assign) double Latitude;

.m文件 什么都不用做,会自动转换的


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,179评论 19 139
  • 如何集成? 支持CocoaPods,在 Podfile 中添加 pod 'YYModel'。 支持Carthage...
    松哥888阅读 13,786评论 0 7
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,742评论 4 61
  • 立春咏怀 苗壮 雪融冰逝化冬严,暖晖弥地焕姝颜。 碧空无云酿春色,遥山褪白志凛...
    苗老师杂谈阅读 1,859评论 0 2
  • 夜里有刚刚下过的雨,地面湿漉漉反射着光亮。凌晨四点,整个城市还未从沉睡中醒过来。 仍然有很多人。从城市的角落里出发...
    才人没有人阅读 9,221评论 0 1

友情链接更多精彩内容