作者:Mitchell
類擴展 (Class Extension也有人稱為匿名分類)##
- 作用:
- 能為某個類附加額外的屬性,成員變量,方法聲明
- 一般的類擴展寫到.m文件中
- 一般的私有屬性寫到類擴展
- 使用格式:
@interface Mitchell()
//屬性
//方法
@end
-
與分類的區(qū)別
- 分類的小括號中必須有名字
@interface 類名(分類名字)
/方法聲明/
@end
@implementation類名(分類名字)
/方法實現(xiàn)/
@end
```
- 分類只能擴充方法扩然,不能擴展屬性和成員變量(如果包含成員變量會直接報錯)客给。
- 如果分類中聲明了一個屬性巷查,那么分類只會生成這個屬性的set、get方法聲明跛十,也就是不會有實現(xiàn)。
- 舉例說明:如果我們分別在秕硝,類擴展與分類中添加了兩個屬性芥映,
接下來在初始化方法中分別賦值,
大家會看到在為在分類中所聲明的屬性textOne賦值的時候,崩潰了奈偏,那么我們來查看一下崩潰的原因:
意思是說坞嘀,我們所創(chuàng)建的對象中并沒有textOne這個屬性。也就是說雖然我們再類別中聲明屬性不會報錯霎苗,
但是@property并沒有自動為我們設(shè)置的屬性生成set姆吭、get方法
。
- 再說一下我們?yōu)槭裁床荒馨惖?.m文件唁盏,因為這樣會重復(fù)包含另一個類的實現(xiàn)文件内狸。