iOS 开发:成员变量(属性,实例变量)的相关知识

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS 开发:成员变量(属性,实例变量)的相关知识相关的知识,希望对你有一定的参考价值。

参考技术A 我们把Objective-C中写在类声明的大括号中的变量称之为成员变量(也称为属性,实例变量)。

我们无法从外界(比如其他类和文件中)直接访问定义在类中的成员变量。为了能够从外界操作成员变量,我们需要为调用者提供相应的方法来对成员变量进行访问、赋值等操作。而定义这些方法都需要有一个有意义的名字,所以就有了getter-setter方法。

getter-setter方法格式和写法是固定的,这也是程序员之间的一种规范,只要有人想要访问成员变量或给成员变量赋值,就会立刻想到getter-setter方法,这样就降低了程序员之间的沟通成本。

如果给成员变量提供了getter和setter方法,就可以通过 点语法 来访问成员变量

iOS开发 私有变量 私有属性的使用选择

.m文件中可以声明私有成员变量和私有属性

属性(property)一共做了三件事:创建以下划线开头的实例变量、生成getter、setter方法。

成员变量:仅仅创建实例变量;

属性(property)会自动生成setter,getter方法,有的时候就会生成一些无用的方法,造成程序的IPA体积过大。

使用成员变量的方式运行的速度更快。

当开发使用懒加载(变量在需要的时候再去加载)的时候,使用属性(property)

- (NSMutableArray *)imagesArr

{

    if (_imagesArr == nil) {

        _imagesArr = [NSMutableArray array];

    }

    return _imagesArr;

}

建议:在不需要使用懒加载的时候,直接在.m文件中使用_XX的方式创建实例变量,来减小IPA体积,提高程序的运行速度,尽量减少两者混用的情况。

以上是关于iOS 开发:成员变量(属性,实例变量)的相关知识的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发 私有变量 私有属性的使用选择

iOS中的成员变量,实例变量,属性变量

iOS 成员变量,实例变量,属性变量的区别,联系

iOS控制台查看属性、方法、以及成员变量、指令的整理

ios 开发,类方法中怎么样访问成员变量

ios 中 成员变量和属性的区别