本书在苹果公司公开的源代码基础上,深入剖析了对应用于内存管理的ARC 以及应用于多线程开发的Blocks 和GCD。这些新技术看似简单,实则非常容易成为技术开发的陷阱,开发者仅靠阅读苹果公司的文档是不够的。
本书适合有一定基础的iOS 开发者阅读。
第1章 自动引用计数1
1.1 什么是自动引用计数2
1.2 内存管理/引用计数2
1.2.1 概要2
1.2.2 内存管理的思考方式5
1.2.3 alloc/retain/release/dealloc实现13
1.2.4 苹果的实现17
1.2.5 autorelease20
1.2.6 autorelease实现24
1.2.7 苹果的实现26
1.3 ARC规则29
1.3.1 概要29
1.3.2 内存管理的思考方式30
1.3.3 所有权修饰符30
1.3.4 规则50
1.3.5 属性62
1.3.6 数组63
1.4 ARC的实现65
1.4.1 __strong修饰符65
1.4.2 __weak修饰符67
1.4.3 __autoreleasing修饰符75
1.4.4 引用计数76
第2章 Blocks79
2.1 Blocks概要80
2.1.1 什么是Blocks80
2.2 Blocks模式83
2.2.1 Block语法83
2.2.2 Block类型变量85
2.2.3 截获自动变量值88
2.2.4 __block说明符88
2.2.5 截获的自动变量89
2.3 Blocks的实现91
2.3.1 Block的实质91
2.3.2 截获自动变量值99
2.3.3 __block说明符102
2.3.4 Block存储域108
2.3.5 __block变量存储域117
2.3.6 截获对象121
2.3.7 __block变量和对象126
2.3.8 Block循环引用128
2.3.9 copy/release134
第3章 Grand Central Dispatch137
3.1 Grand Central Dispatch(GCD)概要138
3.1.1 什么是GCD138
3.1.2 多线程编程140
3.2 GCD的API144
3.2.1 Dispatch Queue144
3.2.2 dispatch_queue_create147
3.2.3 Main Dispatch Queue/Global Dispatch Queue150
3.2.4 dispatch_set_target_queue153
3.2.5 dispatch_after154
3.2.6 Dispatch Group155
3.2.7 dispatch_barrier_async157
3.2.8 dispatch_sync160
3.2.9 dispatch_apply161
3.2.10 dispatch_suspend / dispatch_resume163
3.2.11 Dispatch Semaphore164
3.2.12 dispatch_once166
3.2.13 Dispatch I/O167
3.3 GCD实现169
3.3.1 Dispatch Queue169
3.3.2 Dispatch Source171
附录A ARC、Blocks、GCD使用范例176
附录B 参考资料182
《把孩子交给爸爸》内容简介:在当下家庭教育中,普遍存在父亲教育缺失或不足的现象,本书作者作为一个相当称职的爸爸,给千万个家
本书主要介绍当前在高速公路通信工程中广泛使用的几类现代通信系统,如程控交换系统、光纤通信系统、移动通信系统等,对数据通信
《世界经典口琴小品111首》内容简介:口琴,是人们喜闻乐见的一件乐器,拥有广泛的群众基础。然而在乐谱市场中,高质量的口琴乐谱极
《温柔的西部》内容简介:本书是作者吴景娅对中国西部山川与风土人情的描写、歌颂;也是作者以西部人的视觉对外在世界的观察与思考
微信已经成为一个独立的生态系统,带来了万众创业的全新机会,而《公众号思维》一书是作者及其团队在微信生态发展过程中大量实战
MattDrance前苹果公司布道师。在苹果公司工作了8年,然后创立了一家iOS开发与咨询公司BookhouseSoftware。他还为PragmaticStu...
《现代货币理论在中国》内容简介:本书是一本主要由中国学者撰写的现代货币理论的入门书。书中从应对时代挑战角度解读现代货币理论
《宝贝,宝贝(2021版)》内容简介:我相信,每个孩子都是一个独特的灵魂,都有属于自己的路…… 一个普通的父亲,爱他的一个普通的
《面具与乌托邦》内容简介:★拉丁美洲哲学思想走向成熟的突破之作,开启墨西哥国民性批判先河,首次中译。★丝丝入扣揭示民族自卑
Java安全领域的百科全书,密码学领域的权威经典Java应用架构师的必备参考手册-------------------------本书是Java安全领域的百科
《唐宋历史评论(第三辑)》内容简介:《唐宋历史评论》是由中国人民大学历史学院主办的以唐宋史研究为主的专业历史刊物,以关于唐
Wouldyoulikeanoverviewofthestateoftheartinwebdesigninaspecificfield?WEBDESIGNIND...
《Excel函数与公式标准教程:实战微课版》内容简介:《Excel函数与公式标准教程(实战微课版)》以微型实用办公案例的形式,对Exce
ThispracticalbookintroducessystemsprogrammerstoRust,thenewandcutting-edgelanguag...
“RubyonRails™3Tutorial:LearnRailsbyExamplebyMichaelHartlhasbecomeamustreadfordev...
《2020区块链漫游指南》内容简介:本书是一本区块链技术的学习指南。本书各章命名为“星系”,共分为6个星系,围绕区块链概念及其技
《裂变增长秘籍》内容简介:本书基于微信大生态,围绕裂变获客、留存促活、销售变现、客户管理四大模块展开讲述,旨在帮助更多互联
《使用JavaWeb服务构建SOA》是一本方便的开发指南,可以帮助你在当前Java EE5和JavaSE6平台上实现Web服务和面向服务的架构(SOA
《不忘初心》内容简介:不忘初心,牢记使命 研究中国共产党,是一门大学问。对很多西方学者来说,中国共产党始终是个谜。他们热衷于
《智能变电站二次设备调试实用技术》内容简介:本书是针对二次检修人员的智能变电站调试技术技能培训的教材,全书共7章,主要包括二