(1)Model-View-Controller,即模型-視圖-控制器模式,是iOS程序的主要構(gòu)架,將您的代碼分割為幾個(gè)獨(dú)立的部分。模型部分定義應(yīng)用程序的數(shù)據(jù)引擎,負(fù)責(zé)維護(hù)數(shù)據(jù)的完整性;視圖部分定義應(yīng)用程序的用戶(hù)界面,對(duì)顯示在用戶(hù)界面上的數(shù)據(jù)出處則沒(méi)有清楚的認(rèn)識(shí);控制器部分則充當(dāng)模型和控制器的橋梁,幫助實(shí)現(xiàn)數(shù)據(jù)和顯示的更新。
(2)Delegation,即委托模式,這個(gè)設(shè)計(jì)模式有助于一個(gè)對(duì)象的數(shù)據(jù)傳輸?shù)搅硪粋€(gè)對(duì)象。委托模式可以對(duì)復(fù)雜對(duì)象進(jìn)行修改而不需要子類(lèi)化。與子類(lèi)化不同的是,您可以照常使用復(fù)雜對(duì)象,而將對(duì)其行為進(jìn)行修改的定制代碼放在另一個(gè)對(duì)象中,這個(gè)對(duì)象就稱(chēng)為委托對(duì)象。復(fù)雜對(duì)象需要在預(yù)先定義好的時(shí)點(diǎn)上調(diào)用委托對(duì)象的方法,使其有機(jī)會(huì)運(yùn)行定制代碼。
(3)Target-action,這個(gè)設(shè)計(jì)模式用按鈕等控件把用戶(hù)的交互變成代碼,讓程序可以執(zhí)行。控件通過(guò)目標(biāo)—?jiǎng)幼髂J綄⒂脩?hù)的交互通知給您的應(yīng)用程序。當(dāng)用戶(hù)以預(yù)先定義好的方式(比如輕點(diǎn)一個(gè)按鍵)進(jìn)行交互時(shí),控件就會(huì)將消息(動(dòng)作)發(fā)送給您指定的對(duì)象(目標(biāo))。接收到動(dòng)作消息后,目標(biāo)對(duì)象就會(huì)以恰當(dāng)?shù)姆绞竭M(jìn)行響應(yīng)。
(4)Protocol,可以認(rèn)為是java中的接口。在iOS中有兩種protocol。一種是正式的,一種是非正式的。正式的protocol,是對(duì)objc語(yǔ)言的擴(kuò)展。通過(guò)interface聲明,可以強(qiáng)制實(shí)現(xiàn)或者可選實(shí)現(xiàn)。非正式的protocol是NSObject的一個(gè)category,category是objc語(yǔ)言的一個(gè)特性,可以讓你為一個(gè)類(lèi)增加方法而不需要實(shí)現(xiàn)子類(lèi)。非正式protocol實(shí)現(xiàn)方法是可選的。
(5)notification,即一個(gè)通知,是一個(gè)消息,是用于通知一到多個(gè)觀察者對(duì)象程序當(dāng)前有一個(gè)事件發(fā)生。這里,接收通知的一方叫觀察者,observer。實(shí)際上是觀察者模式。 這里,發(fā)送通知的對(duì)象,并不知道誰(shuí)會(huì)收到這個(gè)通知。這樣通知者和觀察者之間松散耦合。
(6)declared properties,字面意思是聲明的屬性。自動(dòng)幫添加get、set方法。