在學(xué)習(xí)解析的時候绩鸣,我們通常這樣寫(直接拿項目中的接口給大家測試下)
MembersModel.h中
接口請求的數(shù)據(jù)
數(shù)據(jù)添加到數(shù)組
打印數(shù)組
看上去很有條理喜最,按部就班,但是這種方法有確定峦剔,如果數(shù)據(jù)多了翅阵,累死人,所以我教大家一個簡單的方法
簡單使用setValuesForKeysWithDictionary
只需要一句話就可以替代之前的數(shù)據(jù)添加到數(shù)組
之前
使用setValuesForKeysWithDictionary方法
輸出
是不是很方便了秕衙。假如有20個數(shù)據(jù)我們就不用像之前那樣一個個賦值蠢甲,現(xiàn)在只需要一句話輕松搞定
深入一些
后臺在接口里面添加了新的字段沒有告訴我們,會怎么樣据忘。
拿項目里的接口舉例鹦牛,我們把成員頭像注掉
我們在請求數(shù)據(jù)
玩蛋啦,炸啦勇吊!通過了編譯曼追,但是運行就炸啦
因為在model中,沒有對應(yīng)的M_IMAGE屬性汉规,所以導(dǎo)致程序爆炸
解決方法
MembersModel.h中
MembersModel.m中
這個方法里什么都不用寫 ?直接懟上去就行
現(xiàn)在我們在運行輸出一下
我們的數(shù)組里面確實是沒有之前的M_IMAGE了礼殊,有人可能說不對啊 你之前有6條數(shù)據(jù)現(xiàn)在怎么成一條了,因為是后臺大哥把我建的群里面的成員刪得就剩一個了针史,總之咱們成功啦
如果請求的數(shù)據(jù)和model中的屬性名字不同晶伦,應(yīng)該怎么辦?
首先我們把MembersModel.h中ID改成Id悟民,這樣就和接口請求來的字段不一樣了
這時候就需要在MembersModel.m中的setValue:forUndefinedKey方法中加操作了
輸出
這樣寫個人感覺還是有點麻煩坝辫,所以在教大家一個更簡單的,李明杰老師的MJExtension射亏,確實是很方便
使用方法近忙,把請求的數(shù)據(jù)添加到數(shù)據(jù)竭业,一句話輕松搞定:字典數(shù)組 -> 模型數(shù)組
這種方法是不是更加簡單,運行輸出
正常輸出及舍。
本人新手呆鳥未辆,忘各位老司機多多鞭策,使我快速成長锯玛。謝啦