iOS中属性和变量的区别

2017-04-20  本文已影响0人  f1e583c455bf

一、首先要了解实例变量和成员变量的区别:

@interface MyViewController : UIViewController{
      //1.基本数据类型变量
      int num;
      //2.实例变量
      UIButton *button;
}
@end

基本数据类型变量默认是protected,不会生成get、set方法,非子类对象不可访问。
如果变量的数据类型是一个类,则称这个变量是实例变量。不可被外部访问,即成员变量也称私有变量。

实际上成员变量包括基本数据类型变量和实例变量。

二、属性变量

@interface MyViewController : UIViewController{
      //1.基本数据类型变量
      int num;
      //2.实例变量
      UIButton *button;
}
//声明属性
@property (nonatomic, strong) NSString *name;
@end

默认属性会生成_name变量,并自动生成get、set方法。
把属性定义在.h文件可被外界访问,定义在.m文件不可被外界访问。
属性可用_name及self.name访问。self.name其实是调用name的get/ set方法。

成员变量不可self.调用,因为成员变量没有生成get、set方法。
(self.)如果点表达式出现在等号 = 左边,该属性名称的setter方法将被调用。如果点表达式出现在右边,该属性名称的getter方法将被调用。

上一篇下一篇

猜你喜欢

热点阅读