文档章节

Effective Objective-C2.0读书小记(二)对象内部访问实例变量

JoshSone
 JoshSone
发布于 2016/11/18 23:34
字数 371
阅读 18
收藏 0

第七条:在对象内部尽量直接访问实例变量

在对象内部访问实例变量时,可以通过"属性访问"或"直接访问"。

①属性访问(self.button):点语法,通过存取方法来访问相关实例变量

②直接访问(_button):不经由存取方法,直接访问实例变量

区别:

(1)直接访问,速度快。

(2)直接访问实例变量,不会调用其"设置方法"。比如说:在ARC下直接访问一个声明为copy的属性,那么不会拷贝该属性,只会保留新值释放旧值。

(3)直接访问不会触发"键值观测"(KVO)

(4)通过属性访问有助于排查与之相关的错误,可以给"获取方法"、"设置方法"新增断点,监控该属性的调用者,和访问时机。

建议:

以"直接访问"的形式读取实例变量,通过"属性"设置实例变量。

注意:

惰性初始化(懒加载)要采用直接访问的方式来读取数据。

 

© 著作权归作者所有

共有 人打赏支持
JoshSone
粉丝 7
博文 76
码字总数 32794
作品 0
长春
iOS工程师
私信 提问
《Effective Objective-C 2.0》读书笔记(一)

1、了解Objective-C的起源 Objective-C与C++、Java等面向对象语言类似,不过很多方面有所差别。Objective-C使用了“消息结构”(messaging structure)而非“函数调用”(function calling)...

习惯有你syh
2017/12/07
0
0
《Effective Objective-C 2.0》读书笔记

思维导图.png 前言 好长时间没有更新了,年后把《Effective Objective-C 2.0》这本书看完了,上面👆是用思维导图画出来的整本书的内容。下面把书中一些重要的和难理解的知识点整理一下,不...

_誌念
03/25
0
0
Effective objective-C 读书笔记 (第一部分)

第1章 熟悉Objective-C 第1条 了解Objective-C语言的起源 Objective-C是一种“消息结构”的语言,而非“函数调用”语言。 关键区别在于:使用消息结构的语言,其运行时所执行的代码由运行环境...

shenglanya
2017/12/05
0
0
Effective Objective-C 2.0

本书是iOS开发进阶的必读书籍之一。文中部分名词的中文翻译略坑,比如对block和GCD的翻译。其他整体还好,原作者写的比较用心。代码规范讲了不少,底层原理讲了一点点,且主要集中在第二章。...

maskmale
09/27
0
0
Effective Objective-C2.0读书小记(一)枚举

第五条:用枚举表示状态、选项、状态码 枚举类型:enum ①枚举是一种常量命名方式。比如说: 编译器会为枚举分配一个独有的编号,从0开始,每个枚举递增+1。 当然,也可以不使用编译器分配的...

JoshSone
2016/11/16
4
0

没有更多内容

加载失败,请刷新页面

加载更多

SAP订单编排和流程增强概述

SAP产品里的订单处理,无论是On-Premises解决方案还是云产品,我认为归根到底可以概括成四个字:订单编排,包含两个层次的内容: 1. 单个订单通过业务流程或者工作流驱动的状态迁移; 2. 多种...

JerryWang_SAP
14分钟前
1
0
Tomcat shutdown.sh不能关掉tomcat进程的解决方法

Tomcat shutdown.sh不能关掉tomcat进程的解决方法 2018年08月14日 16:21:55 脚踏一方土 阅读数:184 标签: Tomcat 更多 个人分类: Tomcat 版权声明:本文为博主原创文章,未经博主允许不得...

linjin200
21分钟前
1
0
Linux添加PYTHONPATH方法以及3种修改环境变量方法

在用Linux(OS:Centos 7.2)时看到有一行代码是: export PYTHONPATH=$PYTHONPATH:/home/usrname/models:/home/usrname/models/one 意思是将models以及其目录下的one文件夹加入系统环境中。 ...

dragon_tech
24分钟前
1
0
redis数据结构

redis不只是一个简单的键(key)-值(value)数据库,实际上它是一个数据结构服务器,支持各种类型的值。也就是说,在传统的键-值数据库中,你把字符串键与字符串值联系起来,而在redis,值不仅限...

hblt-j
26分钟前
2
0
MySQL事务的的介绍及使用

1. 事务的特性 1.1 原子性(Atomicity): 原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。 1.2. 一致性(Consistency): 在一个事务中,事务的前后数据的完...

kuchawyz
31分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部