本书在苹果公司公开的源代码基础上,深入剖析了对应用于内存管理的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
《深入浅出Ajax(中文版)》和其他深入浅出系列书籍一样,使用许多有趣的视觉刺激来保持我们大脑思考的兴奋。在您读完书中第一章后,
《Web标准之道:博客园精华集》由博客园知名博主联手打造,涉及Web标准、HTML/CSS、JavaScript、SEO优化等诸多领域,内容新颖,观
《Web编程基础》从网页制作出发,详细介绍HTML、CSS和JavaScript的语法和作用。全书共有8章,分别介绍HTML基础、表格、表单、框架
《Kali Linux 高级渗透测试(原书第3版)》内容简介:Kali Linux面向专业的渗透测试和安全审计,集成了大量精心挑选的安全检测工具
《说服力·工作型PPT该这样做(第3版)》内容简介:工作型PPT,唯“快”不破!作为日常工作中的PPT,不能为了追求完美设计而无限度
《长三角区域一体化发展战略研究》内容简介:本书通过对比分析两大经济区制造业,特别是战略性新兴和高技术产业的发展情况,以及制
《中国对外贸易环境与贸易摩擦研究报告(2017)》内容简介:中国外贸保持平稳发展具有一定基础和有利条件,但是制约外贸稳定发展的
《符号学产品设计方法》基于符号学的视野,结合语言学、传播学、文化学、社会学、心理学等相关概念、原理和分析方法,对产品设计
《重复累积码及其在通信系统中的应用》简介:重复累积(RA)码是一种新型的纠错码,不仅具有与Turbo码、LDPC码相同的优越性能,而且其
“不作恶”的Google何以身陷“三重门”?聪明的Google为何在中国变得不够聪明?强大的Google在与百度的交锋中为何会完败?作者简
《重阳》内容简介:《重阳》是一部为国人量身打造的传统节日知识读本。重阳历史悠久,节俗丰富,是重要的传统节日之一。在本书中,
《刘彦斌的理财之道》内容简介:每个人的生活都离不开金钱。所谓管钱,就是理财。理财是一种生活技能,掌握好理财的技能,对于提高
《使用html、css和javascript开发android程序》是《buildingandroidappswithhtml,css,andjavascrip...
《所思远道:两周卷》内容简介:《所思远道:两周卷》全书通过对我国两周时期大量文明遗产(包括各类工艺品、美术作品、音乐舞蹈作
《畅聊科技(第2版)》内容简介:☆SXSW大会两度推介,欧美中学信息技术启蒙读物推动科技民主化,让人人都能读懂区块链、人工智能与
别样诠释——一个VisualC++老鸟10年学习与开发心得 本书特色 《别样诠释:一个visual c++老鸟10年学习与开发心得》着眼于实际应用,循序渐进地介...
《法学野渡(第四版):写给法学院新生》内容简介:本书作者以一种“传道、授业、解惑”的视角,来审视法学的学习,以“至简、实用
《诗经绘》内容简介:《诗经》,中国诗歌的源头。2500年来,它在诉说些什么? “有狐绥绥,在彼淇梁。心之忧矣,之子无裳”是姑娘爱
作者简介:AriLerner是一位全栈工程师,拥有多年AngularJS经验,自办并运营AngularJS电子报ng-newsletter.com,在著名硅谷工...
本书针对媒体、通讯、传感等信息技术发展的需要,提出在未来的数字传播中,影像技术与交互设计将成为设计学科中重要的学习内容。