本文介绍: 本章的内容是比较麻烦复杂的一章,牵扯到了GCD和Block,在之前也有学习过,本章作以深入的了解多线程问题是开发应用程序的时候最让人头疼的问题,尤其是线程阻塞,在更新了Mac之后我经常的遇到了彩虹小球的问题,当然在开发的时候还没有出现过线程阻塞问题。Apple以块和大中枢派发设计了全新的多线程,也就是block和GCD。这是两种不同的技术,但都是一并引入的。块:这个机制方便我们把代码像对象一样传递,令其在不同的环境下运行,而且在定义块的范围内可以访问其中的全部变量。
前言
GCD和块的简介
37.理解块的概念
块的基础知识
块可以捕获变量
内联块的用法
块的内部结构
全局块,栈块,堆块
堆块
全局块
除了“栈块”和“堆块”之外,还有一类块叫做“全局块”。这种块不会捕捉任何状态(比如外围的变量),运行时也无须有状态来参与。而且全局块的copy属于空操作。可以把他认为是单例。
要点
38.为常用的块类型创建typedef
如此以来与定义其他变量时一样,变量类型在左边,变量名在右边。
要点
39.用handler块降低代码分散程度
协议传值实现异步
块实现异步
回调操作里的块
要点
40.用块引用其所属对象时不要出现保留环
块中也存在保留环
要点
总结
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。