摘要: 23、在前文中的例子中,Block结构体里的isa指针还没有详细讲解,这个指针都被置向了_NSConcreteStackBlock,它标识了Block的类型。 其实除了_NSConcreteStackBlock这个类型外,Block还有其他的类型,这些类型总共有3种: (1)、_NSConcrete 阅读全文
posted @ 2016-09-16 14:12 杨淳引 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 11、那么Block到底是怎么实现的呢?试一试通过将Block 的代码转换成普通C语言代码来查看它的实现过程。 要将OC代码转换成C语言代码,可以使用clang编译的一个命令: 通过这个命令能把指定文件中的OC代码改写成C++代码(其中主要部分还是普通的C语言代码),通过这些代码就能看到Block是 阅读全文
posted @ 2016-09-16 13:59 杨淳引 阅读(511) 评论(2) 推荐(1) 编辑
摘要: 1、Block 本质上是一个struct结构体,在这个结构体中,最重要的成员是一个函数(当然除函数外还有其他重要的成员)。 2、在开始解析Block之前,首先来回顾一下Block的格式。Block相关的格式有2个: (1)、Block对象的格式; (2)、Block变量的格式; 3、对于Block对 阅读全文
posted @ 2016-09-16 00:49 杨淳引 阅读(195) 评论(0) 推荐(0) 编辑