二十一:理解 Objevtiv-e錯(cuò)誤模型
只有發(fā)生了可使整個(gè)應(yīng)用程序崩潰的嚴(yán)重錯(cuò)誤時(shí)浪谴,才應(yīng)使用異常熏版。
在錯(cuò)誤不那么嚴(yán)重的情況下欢策,可以指派"委托方法"(delegate method)來處理錯(cuò)誤黄鳍,也可以把錯(cuò)誤信息放在NSError對象里柠横,經(jīng)過“輸出參數(shù)”返回給調(diào)用者窃款。
二十二:理解NSCopying協(xié)議
若想令自己所寫的對象具有拷貝功能,則需實(shí)現(xiàn)NSCopying協(xié)議牍氛。
若果自定義的對象分為可變版本與不可變版本晨继,那么就要同時(shí)實(shí)現(xiàn)NSCopying與NSMutableCopying協(xié)議。
復(fù)制對象時(shí)需決定采用淺拷貝還是深拷貝搬俊,一般情況下應(yīng)該盡量執(zhí)行淺拷貝紊扬。
如果你所寫的對象需要深拷貝,那么可考慮新增一個(gè)專門執(zhí)行深拷貝的方法唉擂。
二十三:通過委托與數(shù)據(jù)源協(xié)議進(jìn)行對象間通信
委托模式為對象提供了一套接口餐屎,使其可由此將相關(guān)事件告知其他對象
將委托對象應(yīng)該支持的接口定義成協(xié)議
將委托對象應(yīng)該支持的接口定義成協(xié)議,在協(xié)議中把可能需要處理的事件定義成方法
當(dāng)某對象需要從另外一個(gè)對象中獲取數(shù)據(jù)時(shí)玩祟,可以使用委托模式腹缩。這種情境下,該模式亦稱“數(shù)據(jù)源協(xié)議”(data source protocal).
若有必要,可實(shí)現(xiàn)含有位段的結(jié)構(gòu)體藏鹊,將委托對象是否能響應(yīng)相關(guān)協(xié)議方法這一信息緩存至其中润讥。
二十四:將類的實(shí)現(xiàn)代碼分散到便于管理的數(shù)個(gè)分類之中
使用分類機(jī)制把類的實(shí)現(xiàn)代碼劃分成易于管理的小塊。
將應(yīng)該視為“私有”的方法歸入名叫Provate的分類中盘寡,以隱藏實(shí)現(xiàn)細(xì)節(jié)楚殿。
二十五:總是為第三方類的分類名稱加前綴
向第三方類中添加分類時(shí),總應(yīng)給其名稱加上你專用的前綴宴抚。
向第三方類中添加分類時(shí)勒魔,總應(yīng)該給其中的方法名加上你專用的前綴甫煞。