Objective-C 高级编程:iOS与OS X多线程和内存管理
《Objective-C 高级编程:iOS与OS X多线程和内存管理》
基本信息
原书名: Pro Multithreading and Memory Management for iOS and OS X: with ARC, Grand Central Dispatch, and Blocks
原出版社: Apress
作者: (日)坂本一树 (日)古本智彦
译者: 黎华
丛书名: 图灵程序设计丛书
出版社:人民邮电出版社
ISBN:9787115318091
上架时间:2013-5-28
出版日期:2013 年6月
开本:16开
页码:186
版次:1-1
所属分类:计算机 > 软件与程序设计 > 移动开发 > iPhone
更多关于 》》》《Objective-C 高级编程:iOS与OS X多线程和内存管理》
内容简介
计算机书籍
《objective-c 高级编程:ios与os x多线程和内存管理》在苹果公司公开的源代码基础上,深入剖析了对应用于内存管理的arc以及应用于多线程开发的blocks和gcd。这些新技术看似简单,实则非常容易成为技术开发的陷阱,开发者仅靠阅读苹果公司的文档是不够的。
《objective-c 高级编程:ios与os x多线程和内存管理》适合有一定基础的ios开发者阅读。
目录
《objective-c 高级编程:ios与os x多线程和内存管理》
第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 autorelease 20
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章 blocks 79
2.1 blocks概要 80
2.1.1 什么是blocks 80
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/release 134
第3章 grand central dispatch 137
3.1 grand central dispatch(gcd)概要 138
3.1.1 什么是gcd 138
3.1.2 多线程编程 140
3.2 gcd的api 144
3.2.1 dispatch queue 144
3.2.2 dispatch_queue_create 147
3.2.3 main dispatch queue/global dispatch queue 150
3.2.4 dispatch_set_target_queue 153
3.2.5 dispatch_after 154
3.2.6 dispatch group 155
3.2.7 dispatch_barrier_async 157
3.2.8 dispatch_sync 160
3.2.9 dispatch_apply 161
3.2.10 dispatch_suspend / dispatch_resume 163
3.2.11 dispatch semaphore 164
3.2.12 dispatch_once 166
3.2.13 dispatch i/o 167
3.3 gcd实现 169
3.3.1 dispatch queue 169
3.3.2 dispatch source 171
附录a arc、blocks、gcd使用范例 176
附录b 参考资料 182
相关推荐
86540698 2019-11-19
拉斯厄尔高福 2020-11-04
ThinkInLinux 2020-09-30
ljbhander 2020-08-07
xiaobaichen 2020-07-30
mingrixing 2020-07-28
iammjun 2020-07-07
emlinux 2020-06-22
fenxinzi 2020-06-21
huanmie 2020-06-16
chenzhaoguo 2020-06-08
ThinkingLink 2020-05-29
wangqing 2020-05-19
pointfish 2020-05-08
cleanerxiaoqiang 2020-05-08
qingsongzdq 2020-05-01
zuixin 2020-04-19
NeverAgain 2020-04-17