出版社:机械工业出版社
年代:2013
定价:59.0
本书介绍了在使用Objective-C写iOS和OS X代码时,如何将Objective-C的作用发挥至极致。秉承Scott Meyers的Effective C++系列畅销书的风格,本书提供了52条关于Objective-C编程的最佳实践、技巧、捷径,以及其他地方看不到的活生生的实例。
译者序 前言 致谢 第1章 熟悉Objective-C 第1条:了解Objective-C语言的起源 第2条:在类的头文件中尽量少引入其他头文件 第3条:多用字面量语法,少用与之等价的方法 第4条:多用类型常量,少用#define预处理指令 第5条:用枚举表示状态、选项、状态码 第2章 对象、消息、运行期 第6条:理解"属性"这一概念 第7条:在对象内部尽量直接访问实例变量 第8条:理解"对象等同性"这一概念 第9条:以"类族模式"隐藏实现细节 第10条:在既有类中使用关联对象存放自定义数据 第11条:理解objc_msgSend的作用 第12条:理解消息转发机制 第13条:用"方法调配技术"调试"黑盒方法" 第14条:理解"类对象"的用意 第3章 接口与API设计 第15条:用前缀避免命名空间冲突 第16条:提供"全能初始化方法" 第17条:实现description方法 第18条:尽量使用不可变对象 第19条:使用清晰而协调的命名方式 第20条:为私有方法名加前缀 第21条:理解Objective-C错误模型 第22条:理解NSCopying协议 第4章 协议与分类 第23条:通过委托与数据源协议进行对象间通信 第24条:将类的实现代码分散到便于管理的数个分类之中 第25条:总是为第三方类的分类名称加前缀 第26条:勿在分类中声明属性 第27条:使用"class-continuation分类"隐藏实现细节 第28条:通过协议提供匿名对象 第5章 内存管理 第29条:理解引用计数 第30条:以ARC简化引用计数 第31条:在dealloc方法中只释放引用并解除监听 第32条:编写"异常安全代码"时留意内存管理问题 第33条:以弱引用避免保留环 第34条:以"自动释放池块"降低内存峰值 第35条:用"僵尸对象"调试内存管理问题 第36条:不要使用retainCount 第6章 块与大中枢派发 第37条:理解"块"这一概念 第38条:为常用的块类型创建typedef 第39条:用handler块降低代码分散程度 第40条:用块引用其所属对象时不要出现保留环 第41条:多用派发队列,少用同步锁 第42条:多用GCD,少用performSelector系列方法 第43条:掌握GCD及操作队列的使用时机 第44条:通过Dispatch Group机制,根据系统资源状况来执行任务 第45条:使用dispatch_once来执行只需运行一次的线程安全代码 第46条:不要使用dispatch_get_current_queue 第7章 系统框架 第47条:熟悉系统框架 第48条:多用块枚举,少用for循环 第49条:对自定义其内存管理语义的collection使用无缝桥接 第50条:构建缓存时选用NSCache而非NSDictionary 第51条:精简initialize与load的实现代码 第52条:别忘了NSTimer会保留其目标对象
“Effective Software Development Series”系列经典著作,世界级软件开发大师Scott Meyers亲自担当顾问编辑,Amazon全五星评价; 从语法、接口与API设计、内存管理、框架等7大方面总结和探讨了Objective-C编程中52个鲜为人知和容易被忽视的特性与陷阱 包含大量实用范例代码,为编写易于理解、便于维护、易于扩展和高效的Objective-C应用提供了解决方案 《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》是世界级C++开发大师Scott Meyers亲自担当顾问编辑的“Effective Software Development Series”系列丛书中的新作,Amazon全五星评价。从语法、接口与API设计、内存管理、框架等7大方面总结和探讨了Objective-C编程中52个鲜为人知和容易被忽视的特性与陷阱。书中包含大量实用范例代码,为编写易于理解、便于维护、易于扩展和高效的Objective-C应用提供了解决方案。 《Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法》共7章。第1章通论与Objective-C的核心概念相关的技巧;第2章讲述的技巧与面向对象语言的重要特征(对象、消息和运行期)相关;第3章介绍的技巧与接口和API设计相关;第4章讲述协议与分类相关的技巧;第5章介绍内存管理中易犯的错误以及如何避免犯这些错误;第6章介绍块与大中枢派发相关的技巧;第7章讲解使用Cocoa和Cocoa Touch系统框架时的相关技巧。【作者简介】 Matt Galloway,资深软件开发工程师,精通移动应用程序的开发与设计,毕业于英国剑桥大学,咨询公司Swipe Stack Ltd.的创始人。经常在Stack Overflow网站(stackoverflow.com)上回答与Objective-C、iOS和Mac编程相关的问题,经验非常丰富。 爱飞翔,资深软件开发工程师,擅长Web开发、移动开发和游戏开发,有10余年开发经验,曾主导和参与了多个手机游戏和手机软件项目的开发,经验十分丰富。他对极限编程、设计模式、重构、测试驱动开发、敏捷软件开发等也有较深入的研究,目前负责敏捷移动开发网的运营。
(美) 霍尔茨纳 (Holzner,S.) , 著
(美) 科施恩 (Kochan,S.G.) , 著
(美) 李 (Lee,K.) , 著
(美) 赫乐嘎斯 (Hillegass,A.) , 著
(美) 赫乐嘎斯, (美) 沃德, 著
(日) 坂本一树, (日) 古本智彦, 著
(美) 德沃 (DeVoe,J.) , 著
(美) 费勒 (Feiler,J.) , 著
(日) 荻原刚志, 著