笔记 《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法 》
阅读此书的笔记点;
此书目录即是对知识点最好的总结
第1章 熟悉Objective-C
----------------------------------------------
第1条:了解Objective-C语言的起源
第2条:在类的头文件中尽量少引入其他头文件
第3条:多用字面量语法,少用与之等价的方法
第4条:多用类型常量,少用#define预处理指令
第5条:用枚举表示状态、选项、状态码
第2章 对象、消息、运行期
----------------------------------------------
第6条:理解"属性"这一概念
第7条:在对象内部尽量直接访问实例变量
第8条:理解"对象等同性"这一概念
第9条:以"类族模式"隐藏实现细节
第10条:在既有类中使用关联对象存放自定义数据
第11条:理解objc_msgSend的作用
第12条:理解消息转发机制
第13条:用"方法调配技术"调试"黑盒方法"
第14条:理解"类对象"的用意
第3章 接口与API设计
----------------------------------------------
第15条:用前缀避免命名空间冲突
第16条:提供"全能初始化方法"
第17条:实现description方法
第18条:尽量使用不可变对象
第19条:使用清晰而协调的命名方式
第20条:为私有方法名加前缀
第21条:理解Objective-C错误模型
第22条:理解NSCopying协议
第4章 协议与分类
----------------------------------------------
第23条:通过委托与数据源协议进行对象间通信
第24条:将类的实现代码分散到便于管理的数个分类之中
第25条:总是为第三方类的分类名称加前缀
第26条:勿在分类中声明属性
第27条:使用"class-continuation分类"隐藏实现细节
第28条:通过协议提供匿名对象
第5章 内存管理
----------------------------------------------
第29条:理解引用计数
第30条:以ARC简化引用计数
第31条:在dealloc方法中只释放引用并解除监听
第32条:编写"异常安全代码"时留意内存管理问题
第33条:以弱引用避免保留环
第34条:以"自动释放池块"降低内存峰值
第35条:用"僵尸对象"调试内存管理问题
第36条:不要使用retainCount
第6章 块与大中枢派发
----------------------------------------------
第37条:理解"块"这一概念
第38条:为常用的块类型创建typedef
第39条:用handler块降低代码分散程度
第40条:用块引用其所属对象时不要出现保留环
第41条:多用派发队列,少用同步锁
第42条:多用GCD,少用performSelector系列方法
第43条:掌握GCD及操作队列的使用时机
第44条:通过Dispatch Group机制,根据系统资源状况来执行任务
第45条:使用dispatch_once来执行只需运行一次的线程安全代码
第46条:不要使用dispatch_get_current_queue
第7章 系统框架
----------------------------------------------
第47条:熟悉系统框架
第48条:多用块枚举,少用for循环
第49条:对自定义其内存管理语义的collection使用无缝桥接
第50条:构建缓存时选用NSCache而非NSDictionary
第51条:精简initialize与load的实现代码
第52条:别忘了NSTimer会保留其目标对象
笔记 《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法 》的更多相关文章
- HTML+CSS笔记 CSS笔记集合
HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...
- CSS笔记--选择器
CSS笔记--选择器 mate的使用 <meta charset="UTF-8"> <title>Document</title> <me ...
- HTML+CSS笔记 CSS中级 一些小技巧
水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...
- HTML+CSS笔记 CSS中级 颜色&长度值
颜色值 在网页中的颜色设置是非常重要,有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 语法: p{co ...
- HTML+CSS笔记 CSS中级 缩写入门
盒子模型代码简写 回忆盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左. 语法: margin:10px 15p ...
- HTML+CSS笔记 CSS进阶再续
CSS的布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上, ...
- HTML+CSS笔记 CSS进阶续集
元素分类 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1&g ...
- HTML+CSS笔记 CSS进阶
文字排版 字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性. 语法: body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果 ...
- HTML+CSS笔记 CSS入门续集
继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代(标签). 语法: p{color:red;} <p> ...
- HTML+CSS笔记 CSS入门
简介: </span>年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的<span>脚本解释程序</span>,作为ABC语言的一种继承. & ...
随机推荐
- reactjs入门到实战(三)---- 组件详解
owner >>> 传递 props this >>>是默认指向组件本身 key>>>不能没有,在复用的情况下 组件:例子 <!-- 输入 ...
- 编译android源码官方教程(4)开始编译
Preparing to Build IN THIS DOCUMENT Obtain proprietary binaries Download proprietary binaries Extrac ...
- dev RichText高亮
需要引用的DLL DevExpress.CodeParser DevExpress.Office DevExpress.RichEdit DevExpress.XtraRichEdit MySyn ...
- choco命令
C:\Users\Administrator>chocoChocolatey v0.10.0 C:\Users\Administrator>choco --version0.10.0 C: ...
- R语言保存文件 Error in save error writing to connection
Error in save(filtered, file = paste(sampleName, "filtered", sep = "_")) : err ...
- BDC、CATT批量数据维护
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 关于JavaScript测试工具:QUnit, Jasmine, MoCha
在进行前端开发过程中,在某些场景下,需要通过编写单元测试来提高代码质量.而JavaScript常用的单元测试框架有这几个:QUnit, Jasmine, MoCha.下面就基于这三个工具,简单做一比较 ...
- Android中四种OnClick事件的写法
package com.example.dailphone; import android.support.v7.app.ActionBarActivity; import android.suppo ...
- 个人博客作业_week2
1. 是否需要有代码规范 1.这些规范都是官僚制度下产生的浪费大家的编程时间.影响人们开发效率,浪费时间的东西. 我不同意这个论点. 有句俗语’无规矩不成方圆‘,这亘古传承的至理同样适用 ...
- Bootstrap日期和时间表单组件运用兼容ie8
准备动作先到下载Bootstrap日期和时间组件. 1:引入bootstrap.min.css,因为bootstrap-datetimepicker里面的很多样式依赖bootstarp的主样式,字体文 ...