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 开发:成员变量(属性,实例变量)的相关知识的主要内容,如果未能解决你的问题,请参考以下文章