無(wú)線客戶端框架設(shè)計(jì)(3):基類的設(shè)計(jì)(iOS篇)
本文源碼下載:http://down.51cto.com/data/935176
沒(méi)有基類的App都不是好App。
因?yàn)閕OS使用的是mvc模式的開發(fā)模式,所以,業(yè)務(wù)邏輯基本都在每個(gè)頁(yè)面相應(yīng)的ViewController中。這些頁(yè)面有很多相同的邏輯,所以,我們有必要設(shè)計(jì)一個(gè)BaseViewController基類,將這部分共有邏輯抽象到基類中。
具體是哪些相同的邏輯呢?
1)重新規(guī)劃頁(yè)面的生命周期——第4篇文章會(huì)專門介紹.
2)iOS處理內(nèi)存警告——在講到內(nèi)存優(yōu)化的時(shí)候,會(huì)介紹。
3)作為跳轉(zhuǎn)器的目標(biāo)頁(yè),接收傳遞來(lái)的參數(shù)——在講到導(dǎo)航器的時(shí)候,會(huì)介紹。
4)頁(yè)面初始化時(shí),需要清除控件上的假數(shù)據(jù)——在講到UI框架設(shè)計(jì)的時(shí)候,會(huì)介紹。
5)進(jìn)度條的加載和隱藏——在講到進(jìn)度條的時(shí)候,會(huì)介紹。
6)顯示提示信息——在講到進(jìn)度條的時(shí)候,會(huì)介紹。
7)網(wǎng)絡(luò)請(qǐng)求的失敗情況的統(tǒng)一處理——在講到網(wǎng)絡(luò)請(qǐng)求的時(shí)候,會(huì)介紹
8)IPhone適配——在講到適配器的時(shí)候,會(huì)介紹。
縱觀以上8點(diǎn),我們發(fā)現(xiàn),有些是框架級(jí)別的,比如1、2、3,而4-8,則和具體的App相關(guān)。換做其它App時(shí),4-8的實(shí)現(xiàn)可能是不一樣的。所 以我們有必要在MyLib項(xiàng)目中建立一個(gè)頂級(jí)的BaseViewController基類,包括1、2、3的實(shí)現(xiàn)。而在MyApp項(xiàng)目中,建立 AppBaseViewController基類,讓它繼承自BaseViewController,并實(shí)現(xiàn)4-8的邏輯。在MyApp項(xiàng)目中的所有 ViewController,都繼承自AppBaseViewController。
以上8點(diǎn),會(huì)在接下來(lái)相應(yīng)的章節(jié)進(jìn)行介紹,我們會(huì)在具體的章節(jié)添加相應(yīng)的基類方法。而在本文,我們的基類,暫時(shí)是空的。