出版社: 人民邮电出版社
副标题: iOS与OS X多线程和内存管理
原作名: Pro multithreading and memory management for iOS and OS X
译者: 黎 华
出版年: 2013-6-1
页数: 186
定价: CNY 49.00
装帧: 平装
丛书: 图灵程序设计丛书·移动开发系列
ISBN: 9787115318091
内容简介 · · · · · ·
本书在苹果公司公开的源代码基础上,深入剖析了对应用于内存管理的ARC 以及应用于多线程开发的Blocks 和GCD。这些新技术看似简单,实则非常容易成为技术开发的陷阱,开发者仅靠阅读苹果公司的文档是不够的。
本书适合有一定基础的iOS 开发者阅读。
作者简介 · · · · · ·
Kazuki Sakamoto
日本资深软件工程师,具有17年开发经验。在StackOverflow上的威望值超过4500。著有《iOS 4编程基础》、《iPhone&iPad cocos2d游戏编程》等。Twitter:@splhack。
Tomohiko Furumoto
日本资深软件工程师,擅长游戏和移动应用开发。Twitter:@munakoiso。
目录 · · · · · ·
1.1 什么是自动引用计数 2
1.2 内存管理/引用计数 2
1.2.1 概要 2
1.2.2 内存管理的思考方式 5
1.2.3 alloc/retain/release/dealloc实现 13
· · · · · · (更多)
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
· · · · · · (收起)
"Objective-C高级编程"试读 · · · · · ·
本章主要介绍从OS X Lion 和iOS 5 引入的内存管理新功能——自动引用计数。让我们在复习Objective-C的内存管理的同时,来详细了解这项新功能会带来怎样的变化。 1.1 什么是自动引用计数 顾名思义,自动引用计数(ARC,Automatic Reference Counting)是指内存管理中对引用采取自动计数的技术。以下摘自苹果的官方说明。 在Objective-C 中采用Automatic Reference Counting(ARC)机..
豆瓣成员常用的标签(共66个) · · · · · ·
丛书信息
喜欢读"Objective-C高级编程"的人也喜欢的电子书 · · · · · ·
喜欢读"Objective-C高级编程"的人也喜欢 · · · · · ·
Objective-C高级编程的话题 · · · · · · ( 全部 条 )



Objective-C高级编程的书评 · · · · · · ( 全部 4 条 )

值得推荐的一本OC进阶书
> 更多书评 4篇
读书笔记 · · · · · ·
我来写笔记-
125 页说如果不掉用block 的copy 方法,array 变量就不会被copy 并retain,示例程序会崩溃。但是实际敲了这个示例程序以后并不会崩溃。按理论上来说 blk 变量是默认strong 的,复制给blk 变量已经默认把block 拷贝到了堆上,也就意味着block 的copy 方法被调用了。 不知道是我理解错了还是书错了。
2016-11-21 11:53
-
125 页说如果不掉用block 的copy 方法,array 变量就不会被copy 并retain,示例程序会崩溃。但是实际敲了这个示例程序以后并不会崩溃。按理论上来说 blk 变量是默认strong 的,复制给blk 变量已经默认把block 拷贝到了堆上,也就意味着block 的copy 方法被调用了。 不知道是我理解错了还是书错了。
2016-11-21 11:53
-
125 页说如果不掉用block 的copy 方法,array 变量就不会被copy 并retain,示例程序会崩溃。但是实际敲了这个示例程序以后并不会崩溃。按理论上来说 blk 变量是默认strong 的,复制给blk 变量已经默认把block 拷贝到了堆上,也就意味着block 的copy 方法被调用了。 不知道是我理解错了还是书错了。
2016-11-21 11:53
当前版本有售 · · · · · ·
-
【Q4AVZU】新人(满64-15包邮)
购买二手书 · · · · · ·
这本书的其他版本 · · · · · · ( 全部2 )
-
Apress (2012)8.6分 37人读过
在哪儿借这本书 · · · · · ·
以下豆列推荐 · · · · · · ( 全部 )
- 待读的IOS类 ([已注销])
- Objective C/Xcode (李鼎(哲良))
- 借书单 (holys)
- book01 (看完就忘)
- iOS进阶书 (弥释)
谁读这本书?
二手市场
订阅关于Objective-C高级编程的评论:
feed: rss 2.0
0 有用 Eggman 2017-01-19
Obj-C 还没废弃前都可一读。
0 有用 PJHubs 2019-08-26
真 • 高级
0 有用 Three 2016-09-29
好看。很深入。
0 有用 [已注销] 2014-05-19
内容安排倒是很不错,都是几个值得深入探讨的主题。但是日本人的文字怎么看起来就这么费劲呢?手头跟编程有关的日本人写的书大概就两本,两本给我的印象都不好......
0 有用 飘飘白云 2015-03-21
对objc的内存管理机制以及block的实现原理讲得很透彻,对GCD的使用也介绍得很全面。适合进阶阅读。前面两个主题稍显啰嗦,总体还是不错的。
0 有用 子不语黄昏 2020-05-01
Block 部分写得很好,细读几遍,终于理解了 Block。
0 有用 ChokChok妖 2019-12-13
利用每天上下班两小时的地铁时间看完的第一本书,看了前几页就刷新我认知的书,里面的内容全是普通Objective-C教学书里没有的,但90%都看不懂,而且没在电脑实验过,仅仅是浏览了一遍,以后要再认真研究研究
0 有用 MZZY 2019-11-18
不看明白这个新手村出不去
0 有用 是吧 2019-11-12
前段时间看到这本书,不算新手,买来看了一遍,看起来非常难受,并不吹,不是很喜欢这本书。
0 有用 venom 2019-11-05
进阶必备。但是内容有点老 书中有过时的东西 需要自己分辨。