阅读此书的笔记点;

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

第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. PHP脚本redis类的实例源码

    class redisDB{         private $redis; //redis对象             /**      * 初始化Redis      * $config = ar ...

  2. Mysql任务调度

    Mysql任务调度 Event调度配置 Mysql任务调度Event不执行 Mysql任务作业Event不执行 我采用的方法就是: 方法一:找到当前使用的 .cnf 文件,在 [mysqld] 的下面 ...

  3. Listview的闪烁问题

    在更新Listview数据时会出现闪烁,主要原因是没有开启双缓冲属性,在C#中可以通过重载Listview的方式开启,代码如下: using System.Windows.Forms; public ...

  4. 4.给定一个正整数m,统计m的位数,分别打印每一位数字,再按照逆序打印出各位数字。 要求:m定义为类的属性,需定义构造函数为m赋值;当m大于99999时,输出错误信息“the number is too large”,不再执行。

    package a; public class ShuZi { int m; public int getM() { return m; } public void setM(int m) { thi ...

  5. Spring 框架 详解 (四)------IOC装配Bean(注解方式)

    Spring的注解装配Bean Spring2.5 引入使用注解去定义Bean @Component  描述Spring框架中Bean Spring的框架中提供了与@Component注解等效的三个注 ...

  6. Android 网格布局 计算器

    <GridLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&quo ...

  7. 关于directX最近的学习方案

    目标:弄清楚如何渲染一个地形,以及人物坐标以及摄像机方向,弄清四大矩阵原理 实践: 1.再次学习矩阵相关知识 2.实现红龙本书的地形 3.搜寻这方面资料书籍

  8. 【翻译】Anatomy of a Program in Memory—剖析内存中的一个程序(进程的虚拟存储器映像布局详解)

    [翻译]Anatomy of a Program in Memory—剖析内存中的一个程序(进程的虚拟存储器映像布局详解) . . .

  9. choco命令

    C:\Users\Administrator>chocoChocolatey v0.10.0 C:\Users\Administrator>choco --version0.10.0 C: ...

  10. 系统分区MBR、GPT

    分区模式: ①MBR(主引导记录(Master Boot Record))分区:在驱动器最前端的一段引导扇区 缺点:主分区不超过4个,单个分区容量最大2TB 分区工具fdisk只能给硬盘做MBR分区, ...