self.propertyName和_propertyName的区别

使用@property 声明一个属性变量,我们可以通过self.和_对其进行访问,那么这两者之间有什么区别呢?经过多方探究,我小小的总结了一下,在此记录一下我的研究心路历程吧^ ^
第一步:
在@interface 中 使用@property 声明了一个属性名为bgScrollView的变量

C9FEF244-B2F3-4FAB-8132-706D6186FDA0.png

第二步:
使用懒加载创建该属性名为bgScrollView的视图

4176E4AB-671D-4FBD-9454-165A66424EDB.png

第三步:
将该视图加载到其父视图上 此处呢 一般情况下都是会用 [self addSubview:self.bgScrollView]; 进行加载,此时加载是正常的,而有时你可能会问为什么不使用[self addSubview:_bgScrollView]呢; 这是因为_bgScrollView是直接访问该实例变量,并没有调用其getter 方法,所以若此时你通过_bgScrollView进行打印,则显示的为(null) 这是因为它并没有调用getter方法而进行创建的原因。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容