OC属性变量、成员变量、实例变量的区别
2019-12-19 本文已影响0人
一叶知秋0830
@interface OITestVC : OIBaseVC
{
NSInteger count; // 成员变量
NSString *name; // 实例变量(也是成员变量)
UIView *customView; // 实例变量(也是成员变量)
id observer; // 实例变量(也是成员变量)
}
@property (nonatomic , assign) CGFloat width; // 属性变量
@property (nonatomic , strong) UIButton *btn; // 属性变量
@end
如上所示,通过@property
声明的都是属性变量,属性是可以在外部文件中通过.
方法来访问。在{}
中声明的都是成员变量,成员变量有2种,一种数据类型是基本数据类型,比如count
是NSInteger
类型;另外一种数据类型是类,比如name
的数据类型是NSString
类,customView
数据类型是UIView
类,observer
数据类型是id
(注意:id
是OC特有的类,本质上讲id
等同于(void *)
),所以这三个变量都是实例变量。由此也可以看出实例变量也属于成员变量。