使用格式
@inte***ce
viewcontroller
()//在這裡定義屬性
//也可以宣告方法
@end
總結 :1,一般的時候,extension都是放在.m檔案中@implementation的上方。否則編譯會報錯。
屬於私有屬性和方法和方法,(即 只能在本類的.m檔案呼叫,如果在其他類裡面,本類的物件是不可以呼叫的),
某些情況下,我們需要宣告乙個@property,它對外是唯讀的(readonly),而對內是可讀寫的(readwrite),這時,可以通過extensions實現
2,類擴充套件只能針對自定義的類,不能給系統類增加類擴充套件
。類擴充套件定義的方法必須在類的實現中進行實現(
因為單獨定義類的擴充套件的話 是只生產乙個.h檔案的(例如 person
_extension.h
),而類別是會生成.h .m兩個檔案的,因此 類別可以在自己的檔案裡面實現自己的實現方法,而擴充套件只能在需要擴充套件的類裡面去進行擴充套件
)。如果單獨定義類擴充套件的檔案並且只定義屬性的話,也需要將類實現檔案中包含進類擴充套件檔案,
否則會找不到屬性的set和get方法。
ios 類別和擴充套件
類別 inte ce classname categoryname methoddeclarations end 注意事項 1 類別是類的擴充套件,只可以宣告方法,不可以宣告變數。並且,類別的方法優先順序較高,可覆蓋原類方法。2 類別的方法中,不可以呼叫super方法。類別的侷限 3 categor...
ios 類別和擴充套件
類別 inte ce classname categoryname methoddeclarations end 注意事項 1 類別是類的擴充套件,只可以宣告方法,不可以宣告變數。並且,類別的方法優先順序較高,可覆蓋原類方法。2 類別的方法中,不可以呼叫super方法。類別的侷限 3 categor...
iOS類別和類擴充套件
在ios中,有一種機制可以使使用者在沒有遠嗎的情況下擴充套件類的功能,但不是通過繼承,這就是類別。ios中沒有類似c 中可以定義私有方法和私有變數的關鍵字,要定義私有方法和私有變數,可以用類擴充套件來實現。類別 類別在不需要繼承的情況下可以擴充套件類的功能。但類別不能新增類的屬性和私有變數。類別可以...