4.協(xié)議與分類

第23條 通過委托與數(shù)據(jù)源協(xié)議進行對象間通訊

多使用位段數(shù)據(jù)類型

第24條 將類的實現(xiàn)代碼分散到便于管理的數(shù)個分類中

第25條 總為第三方類的分類名稱加前綴

category中的方法可能會覆蓋掉原來類的方法,比如NSString有個私有方法,你新增了一個NSString的Category類,并新增了跟該私有方法重名的方法,那么代碼將會一直調(diào)用擬新增的Category類的新方法。如果有多個分類都覆蓋了私有方法,那么最后只會執(zhí)行一個分類的。
解決方法就是,在創(chuàng)建Category時,類名和方法名加前綴,如:
NSString+ABC_HTTP.h
- (void)abc_urlScreame;

第26講 勿在分類中聲明屬性

聲明屬性需要自己寫setter和getter方法。

第27條 使用 “class-continuation分類”隱藏實現(xiàn)細節(jié)

oc的動態(tài)消息系統(tǒng)決定了類中沒有真正的私有變量和私有方法。
這里說的 class-continuation分類 其實就是.m文件里定義的 extension,如下圖。可以在里定義方法和實例變量,為啥能定義這些,查看第6條(穩(wěn)固的ABI)。

第28條 通過協(xié)議提供匿名對象

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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