美文网首页
成员变量、实例变量和属性变量的区别

成员变量、实例变量和属性变量的区别

作者: chanyStar | 来源:发表于2018-11-12 16:05 被阅读0次

成员变量、实例变量和属性变量的区别:

    1、成员变量是声明在类{}中的

在.h 文件中 在.m文件中 成员变量是私有的,只能自己进行获取

        2、实例变量其实是包含在成员变量中的一种,是有指针引用类型的可叫实例变量,其他的叫基础数据类型变量。

        3、属性变量@property会自动生成getter/setter方法,并将生成一个带_的实例变量,比如:@property(nonatomic,copy)NSString * name;

             会生成_name成员变量供自己调用,外部类还是继续可以使用name进行调用,也可调用生成的方法。

        4、属性变量可以在.m文件中使用@synthesize name = otherName; 可以将成员变量用新的名字替代,这时你便可以使用otherName,name也不会生成。或者你不想调用_name,可以直接@synthesize name = name  和更为简洁的用 @synthesize name。

        5、以下情况是不会自动合成的(使用 @synthesize)

            1.同时重写了setter/getter方法。

            2.重写了只读的getter方法。

            3.使用了@dynamic

            4.在@protocol定义的属性。

            5.在category定义的属性。

            6.重载的属性。

参考文章: iOS 成员变量,实例变量,属性变量的区别,联系 - Jenaral - 博客园

ps:不妥之处欢迎交流指正!!!

相关文章

  • 2020-04-05 KVC

    课程引入:成员变量、实例变量、属性,区别是什么?---分类不能添加实例变量 成员变量 -- 实例变量 -- 属性 ...

  • 成员变量、实例变量和属性变量的区别

    成员变量、实例变量和属性变量的区别: 1、成员变量是声明在类{}中的 2、实例变量其实是包含在成员变量...

  • 成员变量、实例变量、属性之间的关系

    成员变量、实例变量、属性之间的关系 首先来区别一下 实例变量、成员变量的区别: 【iOS开发日记-2014.6.2...

  • iOS KVC

    成员变量、实例变量、属性的区别 1.在{}中的都是成员变量2.实例变量本质上也是成员变量,只是实例是针对类而言,实...

  • iOS之成员变量、实例变量、属性

    作为iOS开发,会经常听到成员变量、实例变量和属性;那他们有什么区别吗? 实例变量 实例变量:class类进行实例...

  • iOS中实例变量、成员变量和属性变量的区别

    作为iOS开发,会经常听到成员变量、实例变量和属性;那他们有什么区别吗? 实例变量 实例变量: class类进行实...

  • KVC的底层原理

    成员变量&属性变量&实例变量的区别 说明: 属性在LLVM编译的作用下会自动生成setter和getter方法; ...

  • iOS底层原理 07 : Runtime底层的相关面试题

    1.OC类中成员变量,属性,实例变量的区别? 成员变量成员变量是定义在{}号中的变量。(yourButton、co...

  • 学习kvc

    KVC官方介绍:查看文档 成员变量、实例变量及属性的区别 如图一,大括号里边的都是成员变量,而实例变量是特殊的成员...

  • 剖析成员变量与属性变量@property/@synthesis/

    iOS中属性与成员变量的区别 iOS开发日记-2014.6.20 成员变量、实例变量、属性之间的关系 在 iOS5...

网友评论

      本文标题:成员变量、实例变量和属性变量的区别

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