第六章:Block与GCD 第三十七条:理解block 1.根据block在内存中的位置,block被分成三种类型: NSGlobalBlock 全局块: 这种块运行时无需获...
第五章:内存管理 第二十九条:理解引用计数 理解引用计数这个可以通过《Objective-C 高级编程》这本书中的例子来理解,比较直观,大概如下:alloc/new/copy...
第四章:协议与分类 第二十三条:通过委托与数据源协议进行对象间通信 这条讲的也比较基础,就是基本的delegate,protocal使用。 有一点稍微说一下:当某对象需要从另...
第十八条:尽量使用不可变对象 这条主要讲尽量使用不可变的对象,也就是在对外属性声明的时候要尽量加上readonly修饰,默认是readwrite,这样一来,在外部就只能读取该...
第三章:接口与API设计 第十五条:用前缀避免命名空间冲突 Objective-C没有类似其他语言那样的命名空间机制(namespace),比如说PHP中的 这就会导致当你不...
第十四条:理解“类对象”的用意 Objective-C类是由Class类型来表示的,它实际上是一个指向objc_class结构体的指针。它的定义如下: 在中能看到他的实现: ...
第十三条:用“方法调配技术”调试“黑盒方法” 什么是Method Swizzling? 字面意思:方法调和,也就是方法交换,其中交换的是方法的实现。具体点的来说,我们用@se...
第十二条:理解消息转发机制 话不多说,iOS开发过程中我们经常会碰到这样的报错:unrecognized selector sent to instance **,原因是我们...
第十条:在既有类中使用关联对象存放自定义数据 这条讲的是objc_setAssociatedObject和objc_getAssociatedObject,如何使用在这里就不...
第八条:理解“对象等同性”这一概念 isEqualToString 比isEqual 快,因为后者还要之行额外的步骤,因为它不知道受检测的对象类型。 NSOBject协议中有...
第二章:对象、消息、运行期 第六条:理解“属性”这一概念 这一条讲的是属性的基本概念,以及属性的各种修饰符,这里强调一下: 定义对外开放的属性时候尽量做到暴露权限最小化,不希...
第三条:多用字面量语法,少用与之等价的方法 1.多使用字面量语法来创建字符串,数组,字典等。 传统创建数组方法: 字面量: 这样做的好处:使代码更简洁,易读,也会避免nil问...
学习了~~
一篇文章拿下《Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法》最近在重温这本OC经典之作《Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法》,这篇文章算是重温之后的产物吧,读完这篇文章你将...
最近在重温这本OC经典之作《Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法》,这篇文章算是重温之后的产物吧,读完这篇文章你将...
Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法 第一章 熟悉Objective-C 第一条 了解Objective-C语言的...
kvo取值的顺序: 1. 下面的代码分别输出什么? 答案:都输出”Son” 解释:objc中super是编译器标示符,并不像self一样是一个对象,遇到向super发的方法时...
kvo监控: 原因:因为@property默认给该属性生成getter和setter方法,当getter和setter方法同时被重写时,则系统就不会自动生成getter和se...
@synthesize:如果不实现setter和getter方法,将按照编译器的规则自动生成setter和getter方法. @dynamic:直接或动态的执行setter和...