模型
- 什么是模型仓坞?
? ? ? ?- 專門用來存放數(shù)據(jù)的對(duì)象
? ? ? ?- 一般都是一些直接繼承自NSObject的純對(duì)象
? ? ? ?- 內(nèi)部會(huì)提供一些屬性來存放數(shù)據(jù)
字典轉(zhuǎn)模型
字典轉(zhuǎn)模型的過程最好封裝在模型內(nèi)部
模型應(yīng)該提供一個(gè)可以傳入字典參數(shù)的構(gòu)造方法
- (instancetype)initWithDict:(NSDictionary *)dict;
+ (instancetype)xxxWithDict:(NSDictionary *)dict;
用模型取代字典的好處
使用字典的壞處
- 一般情況下春哨,設(shè)置數(shù)據(jù)和取出數(shù)據(jù)都使用“字符串類型的key”,編寫這些key時(shí)趟大,編輯器沒有智能提示鹤树,需要手敲
dict[@"name"] = @"Jack";
NSString *name = dict[@"name"];
- 手敲字符串key,key容易寫錯(cuò)
- Key如果寫錯(cuò)了逊朽,編譯器不會(huì)有任何警告和報(bào)錯(cuò)罕伯,造成設(shè)錯(cuò)數(shù)據(jù)或者取錯(cuò)數(shù)據(jù)
使用模型的好處
- 所謂模型,其實(shí)就是數(shù)據(jù)模型叽讳,專門用來存放數(shù)據(jù)的對(duì)象追他,用它來表示數(shù)據(jù)會(huì)更加專業(yè)
- 模型設(shè)置數(shù)據(jù)和取出數(shù)據(jù)都是通過它的屬性,屬性名如果寫錯(cuò)了岛蚤,編譯器會(huì)馬上報(bào)錯(cuò)邑狸,因此,保證了數(shù)據(jù)的正確性
- 使用模型訪問屬性時(shí)涤妒,編譯器會(huì)提供一系列的提示单雾,提高編碼效率
app.name = @"Jack";
NSString *name = app.name;