《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多线程和内存管理》在苹果公司公开的源代码基础上,深入剖析了对应用于内存管理的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
图书信息来源:互动出版网

Objective-C 高级编程:iOS与OS X多线程和内存管理的更多相关文章

  1. 《Objective-C高级编程:iOS与OS X多线程和内存管理》读后感

    拿到这本书的第一感觉是非常薄,可是内容就如同序里面所说,这不是一本面向刚開始学习的人的书,比較有深度,对C/C++全然不熟悉的话非常多东西会看不明确. 尽管此书在技术点上仅仅谈到了ARC.Blocks ...

  2. 【转】iOS夯实:ARC时代的内存管理

    iOS夯实:ARC时代的内存管理 什么是ARC Automatic Reference Counting (ARC) is a compiler feature that provides autom ...

  3. iOS夯实:ARC时代的内存管理

    iOS夯实:ARC时代的内存管理 文章转自 ARC时代的内存管理 什么是ARC Automatic Reference Counting (ARC) is a compiler feature tha ...

  4. iOS学习08之C语言内存管理

    本次主要学习和理解C语言中的内存管理 1.存储区划分 按照地址从高到低的顺序:栈区,堆区,静态区,常量区,代码区 1> 栈区:局部变量的存储区域 局部变量基本都在函数.循环.分支中定义 栈区的内 ...

  5. iOS开发ARC机制下的内存管理技术要点

    转载一篇: iOS开发ARC内存管理技术要点.ARC内存管理原则总结.iOS ARC内存管理总结 ARC内存管理机制 (一)ARC的判断准则: 只要没有任何一个强指针指向该对象,该对象就会被释放. ( ...

  6. 【iOS开发-33】学习手动内存管理临时抛弃ARC以及retain/assign知识——iOSproject师面试必考内容

    我们为什么须要内存管理?当使用内存达到40M和45M时候会发出警告,假设不处理,占用内存达到120M时直接强制关闭程序. 所以出现闪退除了是程序出现逻辑错误,还有可能是内存使用过大. (1)创建一个对 ...

  7. iOS开发系列-Foundation与CoreFoundation内存管理

    概述 对于初学者来说,可能仅只能将ARC用在objective-c对象上(也即继承自NSObject的对象),但是如果涉及到较为底层的东西,比如Core Foundation中的malloc()或者f ...

  8. iOS内存管理部分内容

    Objective-C 高级编程 iOS与OS X多线程和内存管理第一章部分讲述了关于ARC的内容,还讲述了关于修饰符的问题,还讲了好多底层的实现的内容,这些底层实现却往往是在面试的过程中经常被遇到的 ...

  9. iOS内存管理布局及管理方案-理论篇

    苹果设备备受欢迎的背后离不开iOS优秀的内存管理机制,那iOS的内存布局及管理方案是怎样的呢?我们一起研究下. 内存管理分为五大块 栈区(stack):线性结构,内存连续,系统自己管理内存,程序运行记 ...

随机推荐

  1. 使用java发送邮件sp自动发送邮件方法

    注意:将jar包复制到web-info文件夹下lib: activation.jar mail.jar //发送邮箱 public static String sendEmail(String sen ...

  2. 行为类模式(一):职责链(Chain Of Responsibility)

    定义 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系. 将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止. UML 优点 将请求的发送者和接收者解耦 可以 ...

  3. android AChartEngine图标引擎

    AChartEngine 1.在androi开发中的时候很多时候是要用图表将数据直观的显示出来的,这里就要用到AChartEngine. XMultipleSeriesRenderer 是经常要用到的 ...

  4. jquery 应用小结

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. javaScript return false

    在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页.  Return False 就相当于终止 ...

  6. github命令

    git push origin master //把本地源码库push到Github上 git pull origin master //从Github上pull到本地源码库

  7. Unable to execute dex: Multiple dex files define 解决方法

    程序编译正常,在用Eclipse调试执行时,报错Unable to execute dex: Multiple dex files define: 方法:      原因是有重复的.jar被引用,可以 ...

  8. bootstrap适配移动端

    上次在pythonanywhere上挂上去的页面,是这个样子的 而在手机上看是这个样子的 总之简直不能看= = 看了一下学校几个微信公众号的页面.都是用的bootstrap,好吧我也去试试看好了. 在 ...

  9. 【转】牛逼闪闪的Ruby迭代器

    D瓜哥最近想做一个网站,另外,老早就有学习一门动态语言的想法,满足着两个条件的编程语言中,Ruby.Python是最合适的两种语言.现在Ruby on Rails如日中天,光芒万丈!所以,就选定了Ru ...

  10. Codeforces Round #310 (Div. 2) A. Case of the Zeros and Ones 水题

    A. Case of the Zeros and Ones Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/con ...