OC成员变量与属性
成员变量与属性
在oc中这两个是有点区别的。
- 成员变量就是我们在开发中,类似下面这样定义的变量,例如:
1 |
|
_name
, _age
便是成员变量。
- 属性就是在开发中,我们用 @property 关键字声明的变量,如:
1 |
|
该方法会自动生成 _player
和 _playerLayer
成员变量,player
,playerLayer
便是我们声明的属性。
现在开发中,我看老手基本上都是使用 property
声明属性的了。
.h文件与.m文件中的@interface
声明成员变量的区别?
在.m中的 @interface
部分为 类扩展(class
extention)。
其被设计出来就是为了解决两个问题的.
定义类私有变量,方法的地方。(主要也是这个作用,定义私有变量。)
实现
public readonly, private readwrite
的property
(意思是在h头文件中定义一个属性对外是readonly
的,但在类的内部希望是可读写的,所以可以在m源文件中的@interface
部分重新定义此属性为readwrite
,此时此属性对外是只读的,对内是读写的)。
最后,若在此部分申明变量和属性,但申明的变量,属性和方法均为私有的,只能够被当前类访问,相当于private。
OC成员变量与属性
https://iplus-studio.top/2022/10/04/OC成员变量与属性/