[IOS新手開發(fā)]關(guān)于字典轉(zhuǎn)模型的個(gè)人理解

1.字典跟模型的優(yōu)缺點(diǎn)比較:

1>字典在使用key的時(shí)候Xcode不會(huì)有提示,容易出錯(cuò),模型就不會(huì)

2>①所謂模型圆存,其實(shí)就是數(shù)據(jù)模型,專門用來存放數(shù)據(jù)的對(duì)象仇哆,用它來表示數(shù)據(jù)會(huì)更加專業(yè)

②模型設(shè)置數(shù)據(jù)和取出數(shù)據(jù)都是通過它的屬性沦辙,屬性名如果寫錯(cuò)了,編譯器會(huì)馬上報(bào)錯(cuò)讹剔,因此油讯,保證了數(shù)據(jù)的正確性

③使用模型訪問屬性時(shí),編譯器會(huì)提供一系列的提示延欠,提高編碼效率

2.字典轉(zhuǎn)模型的過程(中間加了一些個(gè)人想法)

1.>首先需要?jiǎng)?chuàng)建一個(gè)plist文件陌兑,將字典中的元素添加到plist文件中

注意:應(yīng)該是創(chuàng)建的NSArray包含NSDictionary,NSDictionary包含NSString

2.>接下來應(yīng)該在model文件夾創(chuàng)建新的文件并在.h文件中添加兩個(gè)方法

+(instancetype)****WithDict: (NSDictionary*)dict;

-(instancetype)initWithDict: (NSDictionary*)dict;

3>在新創(chuàng)建的文件中實(shí)現(xiàn)由捎。

+(instancetype)****WithDict:(NSDictionary*)dict

{

return[[selfalloc]initWithDict:dict];

}

-(instancetype)initWithDict:(NSDictionary*)dict

{

if(self= [superinit]) {

self.name= dict[@"name"];

self.icon= dict[@"icon"];

}

returnself;

}

4>在viewController中添加一個(gè)數(shù)組屬性的變量兔综,然后在將字典轉(zhuǎn)模型(最重要的一步)

@property(strong,nonatomic)NSArray*shops;

狞玛。

软驰。

-(NSArray*)shops

{

//初始化數(shù)組

if(_shops==nil) {

//獲取plist的全路徑

NSString*path = [[NSBundlemainBundle]pathForResource:@"shop.plist"ofType:nil];

//加載數(shù)組

NSArray*dictArray = [NSArrayarrayWithContentsOfFile:path];

/**

*將dictArray中所有字典轉(zhuǎn)為模型對(duì)象

*/

NSMutableArray*shopArray = [NSMutableArrayarray];

/**

*利用for in遍歷數(shù)組的字典

*/

for(NSDictionary*dictindictArray) {

//創(chuàng)建模型對(duì)象

YHShop*shop = [YHShopshopWithDict:dict];

//添加模型對(duì)象到數(shù)組

[shopArrayaddObject:shop];

}

_shops= shopArray;

}

return_shops;//這里返回的就是一個(gè)包含模型的數(shù)組

}

@end

5.將之前在使用數(shù)組的地方直接改為模型:例如:

YHShop*shopInfo =self.shops[index];//把模型數(shù)據(jù)給一個(gè)新的對(duì)象

imageView.image= [UIImageimageNamed:shopInfo.icon];

☆比較簡(jiǎn)單的理解方式:把之前的數(shù)組中的字典抽取出來,創(chuàng)建模型對(duì)象心肪,然后把這些模型放到一個(gè)新的數(shù)組中锭亏,通過調(diào)用這個(gè)數(shù)組,進(jìn)而使用其中的模型硬鞍。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末贰镣,一起剝皮案震驚了整個(gè)濱河市呜象,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌碑隆,老刑警劉巖恭陡,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異上煤,居然都是意外死亡休玩,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門劫狠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拴疤,“玉大人,你說我怎么就攤上這事独泞∧欧” “怎么了?”我有些...
    開封第一講書人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵懦砂,是天一觀的道長(zhǎng)蜒犯。 經(jīng)常有香客問我,道長(zhǎng)荞膘,這世上最難降的妖魔是什么罚随? 我笑而不...
    開封第一講書人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮羽资,結(jié)果婚禮上淘菩,老公的妹妹穿的比我還像新娘。我一直安慰自己屠升,他們只是感情好潮改,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著腹暖,像睡著了一般汇在。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上微服,一...
    開封第一講書人閱讀 51,115評(píng)論 1 296
  • 那天趾疚,我揣著相機(jī)與錄音,去河邊找鬼以蕴。 笑死糙麦,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的丛肮。 我是一名探鬼主播赡磅,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼宝与!你這毒婦竟也來了焚廊?” 一聲冷哼從身側(cè)響起冶匹,我...
    開封第一講書人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎咆瘟,沒想到半個(gè)月后嚼隘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡袒餐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年飞蛹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片灸眼。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡卧檐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出焰宣,到底是詐尸還是另有隱情霉囚,我是刑警寧澤,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布匕积,位于F島的核電站盈罐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏闸天。R本人自食惡果不足惜暖呕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一斜做、第九天 我趴在偏房一處隱蔽的房頂上張望苞氮。 院中可真熱鬧,春花似錦瓤逼、人聲如沸笼吟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)贷帮。三九已至,卻和暖如春诱告,著一層夾襖步出監(jiān)牢的瞬間撵枢,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工精居, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留锄禽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓靴姿,卻偏偏與公主長(zhǎng)得像沃但,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子佛吓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容