本书在苹果公司公开的源代码基础上,深入剖析了对应用于内存管理的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
《Excel函数与公式标准教程:实战微课版》内容简介:《Excel函数与公式标准教程(实战微课版)》以微型实用办公案例的形式,对Exce
本书主要针对lighttpd源码进行了深度剖析。主要内容包括:lighttpd介绍与分析准备工作、lighttpd网络服务主模型、lighttpd数据结
《经销商窜货管理》内容简介:目前,大部分企业还是依靠传统渠道开展销售工作,窜货仍然是渠道管理中*常见的问题之一。本书较为全面
《汉服制作专业图解教程》内容简介:这是一本汉服制作的基础教程,本书的编写目的是让读者掌握汉服制版、裁剪和缝纫的技能。全书共
本书突出媒介实践和媒介仪式,破解媒介权力的显著特征和隐性伤害,阐述媒介社会化的奥秘,批判媒介中心神话,探究媒介文化底层的
《社会认知主义视域下学术写作指导反馈研究》内容简介:本书是“语言学博士文库”之一,拟在社会认知主义视域下研究中国英语学习者
ProductDescriptionCoversofallaspectsofmultiplayergamedevelopmentandvirtualworldd...
《记者的发现力(增订本)》内容简介:“发现”是一种力量。记者善于发现新鲜事物、揭示事物内在规律的能力就是“新闻发现力”。本
《网页设计创意书(卷2)》是《网页设计创意书》的卷2,但并非其简单补充,而是作者基于近几年网站发展新趋势的再创作。《网页设计
《支付方法论》内容简介:这是一部从产品、运营、业务、技术4个维度全面讲解支付理论与实操的著作。详细阐述了如何通过支付系统建设
《数学家养成计划》内容简介:这本书,通过图文结合的方式,力图培养青少年的数学兴趣,普及知识。书中,每个知识点、理论或术语都
《OAuth 2实战》内容简介:本书深入探讨OAuth的运行机制,详细介绍如何在不安全的网络环境下正确使用、部署OAuth,确保安全认证,是
应用Ajax可以得到更好的用户体验,并能减轻服务器和带宽的负担,因此Ajax技术得到了诸如GoogleMaps、oogleSuggest、Flickt等网站
本书将带领读者从头开始制作一门语言的编译器。笔者特意为本书设计了CЬ语言,CЬ可以说是C语言的子集,实现了包括指针运算等在内
DESCRIPTIONTheresavirtualswitchboardattheheartofmostlargeapplications,wheremilli...
《关乎天下:中小企业赢的秘诀》内容简介:一家企业如何才能活得下去且做得长久?作者认为,“先有道,后有谋,再配人才阵势,天下
《Solr权威指南(上卷)》内容简介:全书分为上下两卷,总共16章,涵盖了Solr各个方面的知识点。本书从前到后按内容的难易程度以循
《做自己人生的CEO》内容简介:她从爱哭的职场小白到年轻CEO,只用了6年 她懂得“管理老板”,曾是财经大咖吴晓波器重的左膀右臂 对
BookDescriptionThemodernWebisawashwithdataandservicesjustwaitingtobeused,buthowd...
《现代数字信号处理》介绍了现代数字信号处理的主要内容。首先概述了离散时间信号处理和离散随机信号分析的基础内容,主要是一些