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

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

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

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

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

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

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

- (NSMutableArray *)imagesArr

{

if (_imagesArr == nil) {

_imagesArr = [NSMutableArray array];

}

return _imagesArr;

}

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

时间: 2024-11-01 19:21:27

iOS开发 私有变量 私有属性的使用选择的相关文章

ios开发-成员变量,属性变量随笔

成员变量用于类内部,无需与外界接触的变量,成员变量包括实例变量.普通类型变量. 根据成员变量的私有性,为了方便访问,所以就有了属性变量.属性变量的好处就是允许让其他对象访问到该变量.当然,你可以设置只读或者可写等,设置方法也可自定义.所以,属性变量是用于与其他对象交互的变量. 一些建议: 1.如果只是单纯的private变量,最好声明在implementation里. 2.如果是类的public属性,就用property写在.h文件里 3.如果自己内部需要setter和getter来实现一些东西

文顶顶 iOS开发UI篇—transframe属性(形变)

iOS开发UI篇—transframe属性(形变) 1. transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度 常用的创建transform结构体方法分两大类 (1) 创建“基于控件初始位置”的形变 CGAffineTransformMakeTranslation(平移) CGAffineTransformMakeScale(缩放) CGAffineTransformMakeRotation(旋转) (2) 创建“基于transform参数”的形变

iOS开发UI基础—transframe属性(形变)

iOS开发UI基础-transframe属性(形变) 1. transform属性 在OC中,通过transform属性可以修改对象的平移.缩放比例和旋转角度 常用的创建transform结构体方法分两大类 (1) 创建"基于控件初始位置"的形变 CGAffineTransformMakeTranslation(平移) CGAffineTransformMakeScale(缩放) CGAffineTransformMakeRotation(旋转) (2) 创建"基于trans

四.OC基础--1.文档安装和方法重载,2.self和super&static,3.继承和派生,4.实例变量修饰符 ,5.私有变量&私有方法,6.description方法

四.OC基础--1.文档安装和方法重载, 1. 在线安装 xcode-> 系统偏好设置->DownLoads->Doucument->下载 2. 离线安装 百度xcode文档 3. 方法重载: 是指在一个类中定义多个同名的方法 在OC中没有重载 2.self和super&static, self和super: 1. self理解: 谁调用当前方法, self就代表谁. 比如: 在对象方法中,self代表的是对象, 因为只有对象才可以调用对象方法 在类方法中, self代表的

李洪强iOS开发Swift篇—09_属性

李洪强iOS开发Swift篇—09_属性 一.类的定义 Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要1个.swift文件 Swift中类的定义格式 1 class 类名 { 2 // ... 属性和方法 3 } 二.属性 1.什么是属性 Swift中的属性(Properties),就类似于其他面向对象语言中的成员变量 2.属性的分类 按照官方文档的说明,属性可以分为以下几种 (1)存储属性(Sto

做iOS开发我为什么弃用Objective-C而选择RubyMotion?

Hendrik Mans是德国汉堡市的一名程序员,他从事iOS开发已有很长一段时间了,起初他一直使用Objective-C语言进行编程而忽视了RubyMotion.从前他认为 RubyMotion只是个介于Ruby和Objective-C之间的交叉编译器,但后来他发现自己完全错了,现在Hendrik已彻底改变了自己的想法. RubyMotion 关于Ruby语言 Hendrik以前不仅从未用过 Ruby,还没少嘲笑过它.而现在Hendrik却认为,Ruby绝对是一种有着清晰漂亮语法的编程语言.R

iOS s私有变量 私有方法

实例变量既可以在@interface中定义 也可以在@implementation中定义 在@implementation中的成员变量默认是私有的成员变量 并且和利用@private修饰的不太一样 在@implementation中定义的成员变量在其他类中无法查看 也无法访问 在@implementation中定义的私有变量只能在本类中访问 如果只有方法的实现没有方法的声明 这个方法就是私有方法

iOS常量、变量、属性及其特性

1.Objective-C中声明常量使用关键字const.如:const double PI = 3.1514; 2.Objective-C中变量可以分为成员变量.局部变量和全局变量(用的很少,尽量不要用). //————————------------常量—————————————————// 方法一: #define kDetailKey            @“detail text” #define DOWNLOAD_TIMEOUT      60.0 #define degresss

iOS开发UILabel的公共属性及拓展属性

在IOS开发的过程中,UILabel是很常用的一个控件,同时也是大量使用的一个控件.创建一个UILabel一般需要五六句代码,如果我们需要创建几十个UILabel,就意味着我们要写五六十句代码,其实很多代码是重复的,我们可以把类似的代码写到一个公共的方法中,以提高工作效率和降低代码重复.官方提供UILabel的一些属性有很大的局限性,有些在项目中开发中需要用到的一些拓展性的属性,根据个人经验,也顺便一起总结在这里. 一.创建UILabel公共的方法 1.头文件中声明方法如下: ? 1 2 3 4