ios中類別和擴充套件的區別

2021-07-12 01:20:19 字數 591 閱讀 4109

使用格式

@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 中可以定義私有方法和私有變數的關鍵字,要定義私有方法和私有變數,可以用類擴充套件來實現。類別 類別在不需要繼承的情況下可以擴充套件類的功能。但類別不能新增類的屬性和私有變數。類別可以...