Effective Objective-C 2.0


Effective Objective-C 2.0

文章插图
Effective Objective-C 2.0【Effective Objective-C 2.0】《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》是世界级C++开发大师scott meyers亲自担当顾问编辑的“effective software development series”系列丛书中的新作 。从语法、接口与api设计、记忆体管理、框架等7大方面总结和探讨了Objective-C编程中52个鲜为人知和容易被忽视的特性与陷阱 。书中包含大量实用範例代码,为编写易于理解、便于维护、易于扩展和高效的Objective-C套用提供了解决方案 。
基本介绍书名:Effective Objective-C 2.0
作者:Matt Galloway
原版名称:Effective Objective-C 2.0: 52 Specific Ways to Improve Your iOS and OS X Programs
译者:爱飞翔
ISBN:9787111451297
页数:220
定价:69.00
出版社:机械工业出版社
出版时间:2014-01
装帧:平装
内容简介全书共7章 。第1章通论与Objective-C的核心概念相关的技巧;第2章讲述的技巧与面向对象语言的重要特徵(对象、讯息和运行期)相关;第3章介绍的技巧与接口和api设计相关;第4章讲述协定与分类相关的技巧;第5章介绍记忆体管理中易犯的错误以及如何避免犯这些错误;第6章介绍块与大中枢派发相关的技巧;第7章讲解使用Cocoa和Cocoa touch系统框架时的相关技巧 。目录译者序前言致谢第1章 熟悉Objective-C第1条:了解Objective-C语言的起源 1第2条:在类的头档案中儘量少引入其他头档案 4第3条:多用字面量语法,少用与之等价的方法 7第4条:多用类型常量,少用#define预处理指令 11第5条:用枚举表示状态、选项、状态码 14第2章 对象、讯息、运行期第6条:理解“属性”这一概念 21第7条:在对象内部儘量直接访问实例变数 28第8条:理解“对象等同性”这一概念 30第9条:以“类族模式”隐藏实现细节 35第10条:在既有类中使用关联对象存放自定义数据 39第11条:理解objc_msgSend的作用 42第12条:理解讯息转发机制 46第13条:用“方法调配技术”调试“黑盒方法” 52第14条:理解“类对象”的用意 56第3章 接口与api设计第15条:用前缀避免命名空间冲突 60第16条:提供“全能初始化方法” 64第17条:实现description方法 69第18条:儘量使用不可变对象 73第19条:使用清晰而协调的命名方式 78第20条:为私有方法名加前缀 83第21条:理解Objective-C错误模型 85第22条:理解NSCopying协定 89第4章 协定与分类第23条:通过委託与数据源协定进行对象间通信 94第24条:将类的实现代码分散到便于管理的数个分类之中 101第25条:总是为第三方类的分类名称加前缀 104第26条:勿在分类中声明属性 106第27条:使用“class-continuation分类”隐藏实现细节 108第28条:通过协定提供匿名对象 114第5章 记忆体管理第29条:理解引用计数 117第30条:以arc简化引用计数 122第31条:在dealloc方法中只释放引用并解除监听 130第32条:编写“异常安全代码”时留意记忆体管理问题 132第33条:以弱引用避免保留环 134第34条:以“自动释放池块”降低记忆体峰值 137第35条:用“殭尸对象”调试记忆体管理问题 141第36条:不要使用retaincount 146第6章 块与大中枢派发第37条:理解“块”这一概念 149第38条:为常用的块类型创建typedef 154第39条:用handler块降低代码分散程度 156第40条:用块引用其所属对象时不要出现保留环 162第41条:多用派发伫列,少用同步锁 165第42条:多用GCD,少用performSelector系列方法 169第43条:掌握GCD及操作伫列的使用时机 173第44条:通过dispatch group机制,根据系统资源状况来执行任务 175第45条:使用dispatch_once来执行只需运行一次的执行绪安全代码 179第46条:不要使用dispatch_get_current_queue 180第7章 系统框架第47条:熟悉系统框架 185第48条:多用块枚举,少用for循环 187第49条:对自定义其记忆体管理语义的collection使用无缝桥接 193第50条:构建快取时选用NSCache而非NSDictionary 197第51条:精简initialize与load的实现代码 200第52条:别忘了NSTimer会保留其目标对象 205作者简介Matt Galloway,资深软体开发工程师,精通移动应用程式的开发与设计,毕业于英国剑桥大学,谘询公司Swipe Stack Ltd.的创始人 。经常在Stack Overflow网站上回答与Objective-C、iOS和Mac编程相关的问题,经验非常丰富 。