Category protocol delegate

Category
使用場景:
1、類包含了很多個方法實現,而這些方法需要不同團隊的成員來實現
2、當你在使用基礎類庫中的類時,你不想繼承這些類而只想添加一些方法時。
Category能實現上面的需求,當然也有使用Category是需要注意的問題:
1、Category可以訪問原始類的實例變量,但不能添加實例變量,如果想添加變量,那就通過繼承創建子類來實現。
2、Category可以重載原始類的方法,不大不推薦這麼做,這樣會覆蓋掉原始類的方法。如果確實要重載,那就通過繼承創建子類來實現。
3、和普通接口有所區別的是,在Category的實現文件中的實例方法只要你不去調用它你可以不用實現所有聲明的所有方法。

protocol 
協議只有接口部分,沒有實現部分,所以沒有m文件,關鍵字 @protocol,協議可以繼承別的協議,協議中不能定義成員變量。
    關鍵字:@required@optional 
    協議的實現是在類聲明的父類之後,加上<> 如: @interface Ellipse:NSObject <Graphics>
發佈了60 篇原創文章 · 獲贊 5 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章