項(xiàng)目開(kāi)發(fā)中在所難免的要對(duì)獲取到的數(shù)據(jù)進(jìn)行模型嵌套分析,一層兩層還好,但是多了,對(duì)于一些初學(xué)者,就會(huì)很頭疼。
今天我們說(shuō)一下如何利用 YYModel 來(lái)解析嵌套模型,以省市區(qū)為例:
1.先對(duì)模型嵌套分析:
假設(shè)我們最初拿到的數(shù)據(jù)是一個(gè)裝著省模型(provinceModel)的字典數(shù)組,里面有:省名字 NSString *province,
children (城市模型 cityModel) 字典數(shù)組; ?在城市模型中有:城市名字 NSString *city, children (區(qū)模型 districtModel) 的字典數(shù)組;區(qū)模型中裝著區(qū)名字。
2.利用 YYModel 對(duì)嵌套模型進(jìn)行解析:
1.最外層:provinceModel(省模型) : NSString *province , ?NSArray *children (里面裝的是城市模型),也需要做字典裝模型,所以要在 .m 中實(shí)現(xiàn)協(xié)議的這個(gè)方法:
+ (NSDictionary *)modelContainerPropertyGenericClass {
return @{@“children”:[cityModel class]};
}
返回 Model 屬性容器中需要存放的對(duì)象類(lèi)型,YYModel 會(huì)自動(dòng)進(jìn)行處理
2.第二層:cityModel (城市模型) : NSString *city , ?NSArray *children (里面裝的是區(qū)模型),也需要做字典轉(zhuǎn)模型,故也要在 .m 中實(shí)現(xiàn)協(xié)議的這個(gè)方法:
+ (NSDictionary *)modelContainerPropertyGenericClass {
return @{@“children”:[districtModel class]};
}
返回 Model 屬性容器中需要存放的對(duì)象類(lèi)型,YYModel 會(huì)自動(dòng)進(jìn)行處理
3.第三層:districtModel (區(qū)模型) : NSString *district.
這樣一層一層解析出來(lái)就會(huì)很清晰了,希望對(duì)大家有幫助