美文网首页
iOS中属性和变量的区别

iOS中属性和变量的区别

作者: f1e583c455bf | 来源:发表于2017-04-20 16:02 被阅读0次

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

    @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方法将被调用。

    相关文章

      网友评论

          本文标题:iOS中属性和变量的区别

          本文链接:https://www.haomeiwen.com/subject/vqelzttx.html