Objective-C高级编程 iOS与OS X多线程和内存管理 pdf
内容简介
《图灵程序设计丛书·Objective-C高级编程:iOS与OS X多线程和内存管理》在苹果公司公开的源代码基础上,深入剖析了对应用于内存管理的ARC以及应用于多线程开发的Blocks和GCD。这些新技术看似简单,实则非常容易成为技术开发的陷阱,开发者仅靠阅读苹果公司的文档是不够的。
《图灵程序设计丛书·Objective-C高级编程:iOS与OS X多线程和内存管理》适合有一定基础的iOS开发者阅读。
作者简介
Kazuki Sakamoto,日本软件工程师,具有17年开发经验。在StackOverflow上的威望值超过4500。著有《iOS 4编程基础》、《iPhoneiPad cocos2d游戏编程》等。
Tomohiko Furumoto,日本软件工程师,擅长游戏和移动应用开发。
目录
第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 参考资料
感悟与笔记
内存管理原则:
自己生成的对象,自己所持有
//自己生成并持有对象 id obj = [[NSObject alloc] init]; //自己持有对象
使用NSObject类的alloc类方法就能自己生成并持有对象。指向生成并持有对象的指针使用一下名称开头的方法名意味着自己生成的对象只有自己持有:
根据以上规则,下列名称也意味着自己生成并持有对象
但是以下规则无效
不再需要自己持有的对象时释放
释放时使用release方法
//自己生成并持有对象 id obj = [[NSObject alloc] init]; //自己持有对象 [obj release]; //释放对象。指向对象的指针任然被保留在变量obj中,貌似能够访问 //但是对象一经释放绝对不可访问
会员免费下载
链接:https://pan.baidu.com/s/1bKYb5Ix6Ag9DDMBFMEkfng
提取码: ****** 查看
成为本站VIP会员即可无限下载。 请先点击百度网盘,看资源是否还在,不在请点击链接通知站长补资源。
资源标签点击标签可查看对应分类的资源