文档地址:https://github.com/ibireme/YYModel

NSDictionary *testDic = @{@"groupId":@"01",@"result":@[@{@"name":@"Lucy",  @"sex":@"male"},@{@"name":@"Lily",  @"sex":@"feMale"},@{@"name":@"Limei", @"sex":@"male"}]};

此处我设置 GroupUserModel 和 UserModel

@interface GroupUserModel : NSObject<YYModel>@property (nonatomic, copy) NSString *groupId;
@property (nonatomic, strong) NSArray  *result;@end#import "GroupUserModel.h"
#import "UserModel.h"@implementation GroupUserModel// 包含
+ (NSDictionary *)modelContainerPropertyGenericClass {return @{@"result" : [UserModel class],@"groupId" : @"groupId"};
}// 白名单
+ (NSArray *)modelPropertyWhitelist {return @[@"result",@"groupId"];
}
@end
@interface UserModel : NSObject<YYModel>@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *sex;@end#import "UserModel.h"@implementation UserModel// custom
+ (NSDictionary *)modelCustomPropertyMapper {return @{@"name" : @"name",@"sex" : @"sex",};
}// 白名单
+ (NSArray *)modelPropertyWhitelist {return @[@"name",@"sex"];
}@end
解决
 self.groupUserModel = [GroupUserModel yy_modelWithDictionary:testDic];self.dataArray = [NSMutableArray arrayWithArray:self.groupUserModel.result];for (UserModel *model in self.dataArray) {NSLog(@"name === %@",model.name);}
问题二: 有时我们Model中 .m 文件中写下面几个方法,老是没有提示,需要人工复制。。。
+ (nullable NSDictionary<NSString *, id> *)modelContainerPropertyGenericClass;
+ (nullable NSDictionary<NSString *, id> *)modelCustomPropertyMapper;
+ (nullable NSArray<NSString *> *)modelPropertyWhitelist;
+ (nullable NSArray<NSString *> *)modelPropertyBlacklist;

其实只要让 model 遵从<YYModel>协议就 OK 啦

问题三:直接用数组转 Model
@interface NSDictionary (YYModel)+ (nullable NSDictionary *)yy_modelDictionaryWithClass:(Class)cls json:(id)json;

注意这个方法,直接套就 OK 啦

总的来说,github 中的说明文档足够可以满足我们的需求,细心阅读,我出问题也是没有详细了解的原因

iOS YYModel使用方法相关推荐

  1. iOS YYModel的使用

    YYModel是YYKit的高效组件之一,在实际场景中的非常实用,运用于项目中使用MVC或MVVM架构时,使用model做数据处理. 一.常用的方法 // 字典转模型 + (nullable inst ...

  2. Cisco IOS的故障恢复方法

    IOS是路由器交换机设备的核心,IOS全称internet operate system,中文是网络操作系统的意思.他就好比计算机的操作系统windows一样,虽然是软件但出现问题就无法进行任何软件的 ...

  3. 思科服务器备份文件失败,思科路由器tftp备份、还原 IOS升级的方法

    思科路由器tftp备份.还原 IOS升级的方法 1700,2600,3600,7200系列 1.IOS映像恢复的方法及步骤 1) 连接PC的COM1口与路由器的console口,使用PC的超级终端软件 ...

  4. 最简单的生成ios证书的方法

    当我们使用hbuilder等H5框架开发app的时候,我们需要ios证书才能将app工程编译成ipa文件. 但是苹果官方提供的生成ios证书的方法,只能使用mac电脑,假如我们没有mac电脑,生成证书 ...

  5. 识别IOS和android方法

    识别IOS和android方法 直接上代码,不管是app开发还是手机端web开发都有遇到苹果跟安卓手机兼容性的问题,有时不得不写两套方法,这里根据识别是苹果还是安卓手机后进行设置对应的样式,当然除了用 ...

  6. html5调用原生android,h5调用IOS/安卓原生方法,原生调h5方法

    之前也总结过h5调用原生的方法,但是写的不全.像调完原生之后,原生往往会有返回值,或者根据返回值的不同回调h5的方法. 1.判断机型 getType() { var u = navigator.use ...

  7. 在WINDOWS上开发IOS应用的方法

    在WINDOWS上开发IOS应用的方法 1,虚拟机上安装MAC系统,里面装XCODE 2,WINDOWS上安装code blocks,这个IDE可以直接在WIN上编译XCODE工程: 最新的IOS在w ...

  8. Cisco 4507R交换机IOS软件升级方法

    Cisco 4507R交换机IOS软件升级方法 现有设备信息 XIASW#show version Cisco IOS Software, Catalyst 4000 L3 Switch Softwa ...

  9. iOS问题分析方法之【 打印视图布局、符号调试】

    文章目录 前言 I. 符号调试 II. lldb 打印视图布局分析问题 :`po [[UIWindow keyWindow] _autolayoutTrace]` III.iOS逆向分析方法 3.1 ...

最新文章

  1. 中国对计算机科学与技术人才的需求,计算机科学与技术整体概况之人才需求分析_跨考网...
  2. python之微信好友统计信息
  3. 区块链是什么?白话解读入门必须了解的概念
  4. 算法复习——计算几何基础(zoj1081)
  5. 计算机和外部通信方式,计算机和外部的通信方式
  6. android 访问服务器sql_一次服务器被传webshell事件溯源
  7. Windows 下安装 MongoDB
  8. linux用户管理和群界面怎么打开,Linux命令行界面下的用户和组的管理
  9. Deep Learning with PyTorch 必看教程集(4本)
  10. Cocos2d-html5 2.2.2的屏幕适配方案
  11. PHP中PDO方法fetch参数问题
  12. 探讨【IGE】的源代码【三】。
  13. 免费甘特图模板直接套用,分分钟完成!
  14. 74HC138 三八译码器
  15. C#获取当前桌面路径
  16. 1-4 正弦和余弦
  17. 怎么调整图片大小?这三种方法一定能帮到你
  18. 【HTML5】初识前端页面结构与基本标签
  19. 新浪微博分享错误代码列表
  20. 使用javaSwing搭建一个简单的聊天室

热门文章

  1. mysql默认编码改为gkb编码_MYSQL数据库默认latin1字符集转换为GBK或UTF8
  2. 全网爆火五款高性能旗舰蓝牙耳机推荐,平价高音质蓝牙耳机
  3. 前端和Java后端分别需要学哪些技术?
  4. 1367:查找二叉树
  5. 从[USER SERVICES CLIENT]下载的sentinel-3数据在SNAP中打开没有地理坐标的解决办法
  6. oracle nvl和nvl2的区别
  7. 联合索引,组合索引,详细应用实例
  8. 字符串分割(split),将字符串按照指定字符进行分割。split(String regex)和split(String regex, int limit)
  9. cool edit工具介绍及使用
  10. 公司小白熟悉苹果Mac常用简单操作