苹果源代码不会告诉你的Objective-C高级编程
《图灵程序设计丛书·Objective-C高级编程:iOS与OS X多线程和内存管理》在苹果公司公开的源代码基础上,深入剖析了:
iOS 5、OS X Lion 引入的新的内存管理技术ARC
iOS 4、OS X Snow Leopard 引入的多线程应用技术Blocks 和GCD
这些新技术在App应用开发时不可或缺。它们看似简单,但若无深入了解,就会变成技术开发的陷阱。本书在苹果公司公开的源代码基础上加以解说,深入剖析,这些内容是仅靠阅读苹果公司的参考文档而难以企及的。
《图灵程序设计丛书·Objective-C高级编程:iOS与OS X多线程和内存管理》在苹果公司公开的源代码基础上,深入剖析了对应用于内存管理的ARC以及应用于多线程开发的Blocks和GCD。这些新技术看似简单,实则非常容易成为技术开发的陷阱,开发者仅靠阅读苹果公司的文档是不够的。
《图灵程序设计丛书·Objective-C高级编程:iOS与OS X多线程和内存管理》适合有一定基础的iOS开发者阅读。
第1章 自动引用计数
1.1 什么是自动引用计数
1.2 内存管理/引用计数
1.2.1 概要
1.2.2 内存管理的思考方式
1.2.3 alloc/retain/release/dealloc实现
1.2.4 苹果的实现
1.2.5 autorelease
1.2.6 autorelease实现
1.2.7 苹果的实现
1.3 ARC规则
1.3.1 概要
1.3.2 内存管理的思考方式
1.3.3 所有权修饰符
1.3.4 规则
1.3.5 属性
1.3.6 数组
1.4 ARC的实现
1.4.1 __strong修饰符
1.4.2 __weak修饰符
1.4.3 __autoreleasing修饰符
1.4.4 引用计数
第2章 Blocks
2.1 Blocks概要
2.1.1 什么是Blocks
2.2 Blocks模式
2.2.1 Block语法
2.2.2 Block类型变量
2.2.3 截获自动变量值
2.2.4 __block说明符
2.2.5 截获的自动变量
2.3 Blocks的实现
2.3.1 Block的实质
2.3.2 截获自动变量值
2.3.3 __block说明符
2.3.4 Block存储域
2.3.5 __block变量存储域
2.3.6 截获对象
2.3.7 __block变量和对象
2.3.8 Block循环引用
2.3.9 copy/release
第3章 Grand Central Dispatch
3.1 Grand Central Dispatch(GCD)概要
3.1.1 什么是GCD
3.1.2 多线程编程
3.2 GCD的API
3.2.1 Dispatch Queue
3.2.2 dispatch_queue_create
3.2.3 Main Dispatch Queue/Global Dispatch Queue
3.2.4 dispatch_set_target_queue
3.2.5 dispatch_after
3.2.6 Dispatch Group
3.2.7 dispatch_barrier_async
3.2.8 dispatch_sync
3.2.9 dispatch_apply
3.2.10 dispatch_suspend/dispatch_resume
3.2.11 Dispatch Semaphore
3.2.12 dispatch_once
3.2.13 Dispatch I/O
3.3 GCD实现
3.3.1 Dispatch Queue
3.3.2 Dispatch Source
附录A ARC、Blocks、GCD使用范例
附录B 参考资料