阅读此书的笔记点;

此书目录即是对知识点最好的总结

第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会保留其目标对象

原书 http://item.jd.com/11402853.html

笔记 《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法 》的更多相关文章

  1. HTML+CSS笔记 CSS笔记集合

    HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...

  2. CSS笔记--选择器

    CSS笔记--选择器 mate的使用 <meta charset="UTF-8"> <title>Document</title> <me ...

  3. HTML+CSS笔记 CSS中级 一些小技巧

    水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...

  4. HTML+CSS笔记 CSS中级 颜色&长度值

    颜色值 在网页中的颜色设置是非常重要,有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 语法: p{co ...

  5. HTML+CSS笔记 CSS中级 缩写入门

    盒子模型代码简写 回忆盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左. 语法: margin:10px 15p ...

  6. HTML+CSS笔记 CSS进阶再续

    CSS的布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上, ...

  7. HTML+CSS笔记 CSS进阶续集

    元素分类 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1&g ...

  8. HTML+CSS笔记 CSS进阶

    文字排版 字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性. 语法: body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果 ...

  9. HTML+CSS笔记 CSS入门续集

    继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代(标签). 语法: p{color:red;} <p> ...

  10. HTML+CSS笔记 CSS入门

    简介: </span>年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的<span>脚本解释程序</span>,作为ABC语言的一种继承. & ...

随机推荐

  1. shell中awk用法

    简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再 ...

  2. Device Tree(三):代码分析

    一.前言 Device Tree总共有三篇,分别是: 1.为何要引入Device Tree,这个机制是用来解决什么问题的?(请参考引入Device Tree的原因) 2.Device Tree的基础概 ...

  3. HDU 3213 Box Relations(拓扑排序构造)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3231 题意:有n个长方体,四种限制条件.(1)I x y x和y有相交:(2)X/Y/Z  x y x ...

  4. ubuntu vi/vim编辑器必知必会

    转载出处:http://blog.csdn.net/xiajun07061225/article/details/7039413 一.我们为什么要学习vim编辑器? Linux的命令行界面下面有非常多 ...

  5. [转]SIP穿越NAT&FireWall解决方案

    原文链接(也是转载)http://blog.csdn.net/yetyongjin/article/details/6881491.我修改了部分错字.   SIP从私网到公网会遇到什么样的问题呢? 1 ...

  6. 列联表(Crosstabs)

    四格表(2*2的列联表): Tmin为最小的频数:N为频数之和. 1 当 Tmin≥5,N≥40时, 用普通卡方检验公式;2 当1≦Tmin≦5, N≥40时, 用校正卡方检验公式;3 Tmin< ...

  7. [Effective Java]第六章 枚举和注解

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  8. 学习python得到方向与主体

    Python的主体内容大致可以分为以下几个部分: 面向过程.包括基本的表达式,if语句,循环,函数等.如果你有任何一个语言的基础,特别是C语言的基础,这一部分就是分分钟了解下Python规定的事.如果 ...

  9. Codeforces Round #380 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 2) D. Sea Battle 模拟

    D. Sea Battle time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  10. Windows Internals学习笔记(五)Synchronization

    参考资料: 1. <Windows Internals> 2. 自旋锁spinlock剖析与改进 3. Lock指令前缀 4. Lock指令前缀(二) 5. Kernel Dispatch ...