相比Swift而言,OC規矩太多.
差不多,.h中聲明的屬性和成員變量均可以在子類中訪問到.而.m則不可.而屬性其實也就是成員變量的一種簡寫,其內部自動包含了getter和setter方法.
如圖:ViewController是SubController的父類.在ViewController.h中聲明成員變量imageView1和屬性imageView2
在ViewController.m中同樣聲明了成員變量imageView3和屬性imageView4.
在ViewController.m中
1,通過self.xxx的方法可以出現imageView2和imageView4
2.通過 _XXX的形式只能出現imageView2,imageView4
3.通過XXX的形式只能出現imageView1.imageView3
在子類SubController.m中
1.通過self.XXX的形式只能出現imageView2
2.通過 _XXX的形式什么都不會出現.
3.通過XXX的形式可以出現imageView1
開發中,一般在成員變量前面加個_.
這樣一來就明了了.
在本類中訪問,通過self.XXX可以訪問到imageView2和imageView4.
通過_XXX都可以訪問,XXX則都不能
子類中,通過self.XXX可以訪問imageView2,通過_XXX可以訪問到imageView1,XXX則都不能.
(其中很多和舊版的OC語言有關,小生不了解)
總之,差不多就是在.h中聲明的屬性或者成員變量在其子類中均可以訪問到,只不過形式不一樣.
在.m中聲明的屬性或者成員變量只能在本類中訪問到.
而屬性其實就是成員變量的簡寫,內部自動包含了getter和setter方法.
我的理解是這樣,不知對否.