基本用途
如何在不改變原來類模型的前提下坑雅,給類擴充一些方法臼婆?有2種方式
1隧期、繼承
2宜咒、分類(Category)
格式
分類的聲明
@interface類名(分類名稱)
//方法聲明
@end
分類的實現(xiàn)
@implementation類名(分類名稱)
//方法實現(xiàn)
@end
好處
一個龐大的類可以分模塊開發(fā)
一個龐大的類可以由多個人來編寫惠赫,更有利于團隊合作
給系統(tǒng)自帶的類添加分類
給NSString增加一個類方法:計算某個字符串中阿拉伯數(shù)字的個數(shù)
給NSString增加一個對象方法:計算當前字符串中阿拉伯數(shù)字的個數(shù)
注意
Category可以訪問原始類的實例變量,但不能添加變量故黑,只能添加方法儿咱。如果想添加變量庭砍,可以考慮通過繼承創(chuàng)建子類
Category可以實現(xiàn)原始類的方法,但不推薦這么做概疆,因為它是直接替換掉原來的方法逗威,這么做的后果是再也不能訪問原來的方法
多個Category中如果實現(xiàn)了相同的方法,只有最后一個參與編譯的才會有效