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种,一种数据类型是基本数据类型,比如countNSInteger类型;另外一种数据类型是类,比如name的数据类型是NSString类,customView数据类型是UIView类,observer数据类型是id(注意:id 是OC特有的类,本质上讲id等同于(void *)),所以这三个变量都是实例变量。由此也可以看出实例变量也属于成员变量。

上一篇下一篇

猜你喜欢

热点阅读