文档章节

yyModel字典(字典嵌套数组)转模型我遇到的坑

tb_engineer
 tb_engineer
发布于 2017/12/23 19:53
字数 388
阅读 1550
收藏 0

字典转模型,用了yyModel框架,本以为很容易的事,但是实际却遇到了坑,也怪我无知吧,犯了不该犯的错误,故在这里记录一下。

把这个字典转模型,我Model这样写的

#import <Foundation/Foundation.h>
@class RepayListArray;

@interface RepayModel : NSObject
/*用户已经贷款金额*/
@property (nonatomic, copy)NSString * alrBorrowQuota;
/*用户已经还款金额*/
@property (nonatomic, copy)NSString *alrRepayQuota;
/*用户未还金额*/
@property (nonatomic, copy)NSString *noRepayQuota;
//用户贷款列表
@property (nonatomic, strong)NSArray <RepayListArray *>*loanList;

//@property (nonatomic, strong)NSArray <RepayListArray *>*list;

@end

@interface RepayListArray : NSObject
/*贷款id*/
@property (nonatomic, copy)NSString *loanId;
/*借款金额*/
@property (nonatomic, copy)NSString *loanQuota;
/*还款方式(1一次性还款 2先息后本)*/
@property (nonatomic, copy)NSString *repayType;
/*1、审核中 2、待还款 3 审核不通过 4、已还清*/
@property (nonatomic, copy)NSString *auditStatus;
/*申请日期*/
@property (nonatomic, copy)NSString *applyDate;
/*收款账户银*/
@property (nonatomic, copy)NSString *bankName;
/*收款账户银行卡号*/
@property (nonatomic, copy)NSString *bankCardNo;


@end

 

我犯得错误是:后台明明返回的是b这个字典,然后有个loanList字段,对应的是数组,我把模型文件的名字改为了loanList.h,loanList.m,而模型对应的字段改为了list,如下,

@property (nonatomic, strong)NSArray <RepayListArray *>*list;

然后对应的错误的自然而然的

+ (nullable NSDictionary<NSString *, id> *)modelContainerPropertyGenericClass

{

    return @{@"list" : loanList.class};

}

这样毫无疑问是错误的,yyModel,要根据loanList这个字段解析其所在的数组,我自己却搞随意弄了一个list,字段对应不上,解析的loanList数组自然为nil了,

源代码这里

 

© 著作权归作者所有

tb_engineer
粉丝 8
博文 24
码字总数 6322
作品 0
广州
程序员
私信 提问
XZ_Swift之YYModel 实现嵌套的字典转模型出现的问题的解决

使用YYModel 实现嵌套的字典转模型时,如果返回数据中,包含数组,就需要实现 modelContainerPropertyGenericClass 方法。 原因:数组用 OC 运行时,因为数组中保存的是 id 类型的,所以判断...

understand_xz
2018/01/02
0
0
iOS开发·runtime+KVC实现多层字典模型转换(多层数据:模型嵌套模型,模型嵌套数组,数组嵌套模型)

本文实验Demo传送门:DictToModelDemo 前言:将后台JSON数据中的字典转成本地的模型,我们一般选用部分优秀的第三方框架,如SBJSON、JSONKit、MJExtension、YYModel等。但是,一些简单的数据...

陈满iOS
2018/05/08
0
0
从YYModel源码中可以学到什么:后篇

前言 上一篇中《从YYModel源码中可以学到什么:后篇》中主要学习了的源码结构,只是分享了整体结构。 承接上篇,本文将解读如何进行JSON模型转换的,接下来一起揭开的神秘面纱吧! 目录 JSON...

Owenli_千
2017/12/29
0
0
玩转iOS开发:装逼技术RunTime的应用(二)

文章分享至我的个人技术博客: cainrun.github.io/15069332898… 玩转iOS开发:装逼技术RunTime的应用(二) 上一章我们耍了一些的应用, 但并没有完全讲完, 现在继续接着说, 如果没有看到上一篇...

CainLuo
2017/10/14
0
0
从YYModel源码中可以学到什么:前篇

前言 一个高性能模型框架。 作者在上给出的性能对比图(iphone 6 y:时间) :具体以下特点:高性能、自动类型转换、类型安全、非侵入性、轻量等。 关于如何使用查看文档和示例【传送门】。 本...

Owenli_千
2017/12/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

让《强化学习(第2版)》架起一座通往强化学习经典知识宝库的桥梁

上交大计算科学与工程系俞凯教授,5分钟口述讲解,带你快速认识了解年度重磅图书《强化学习(第二版)》! 在 AlphaGo战胜李世石之后,AlphaZero以其完全凭借自我学习超越人类在各种棋类游戏...

博文视点Bv
22分钟前
6
0
TLA7-EVM开发板的处理器、NOR FLASH、DDR3

TLA7-EVM开发板是一款由广州创龙基于Xilinx Artix-7系列FPGA自主研发的核心板+底板方式的开发板,可快速评估FPGA性能。核心板尺寸仅70mm*50mm,底板采用沉金无铅工艺的6层板设计,专业的PCB...

Tronlong创龙
30分钟前
4
0
UUID的变种-有序

为了解决UUID无序的问题,NHibernate在其主键生成方式中提供了Comb算法(combined guid/timestamp)。保留GUID的10个字节,用另6个字节表示GUID生成的时间(DateTime)。 /// <summary> //...

Canaan_
31分钟前
4
0
Netty学习(6)——通道间数据传输

1. FileChannel实现通道间的数据传输 在Java NIO中,如果两个通道中有一个是FileChannel,那你可以直接将数据从一个channel传输到另外一个channel。 transferFrom() FileChannel的transferF...

江左煤郎
35分钟前
4
0
AngularDOM操作

gtandsn
35分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部