相比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方法.
我的理解是这样,不知对否.