《effective objective-c 2.0:编写高质量ios与os x代码的52个有效方法》是世界级c++开发大师scott meyers亲自担当顾问编辑的“effective software development series”系列丛书中的新作,amazon全五星评价。从语法、接口与api设计、内存管理、框架等7大方面总结和探讨了objective-c编程中52个鲜为人知和容易被忽视的特性与陷阱。书中包含大量实用范例代码,为编写易于理解、便于维护、易于扩展和高效的objective-c应用提供了解决方案。
全书共7章。第1章通论与objective-c的核心概念相关的技巧;第2章讲述的技巧与面向对象语言的重要特征(对象、消息和运行期)相关;第3章介绍的技巧与接口和api设计相关;第4章讲述协议与分类相关的技巧;第5章介绍内存管理中易犯的错误以及如何避免犯这些错误;第6章介绍块与大中枢派发相关的技巧;第7章讲解使用cocoa和cocoa touch系统框架时的相关技巧。
译者序
前言
致谢
第1章 熟悉objective-c 1
第1条:了解objective-c语言的起源 1
第2条:在类的头文件中尽量少引入其他头文件 4
第3条:多用字面量语法,少用与之等价的方法 7
第4条:多用类型常量,少用#define预处理指令 11
第5条:用枚举表示状态、选项、状态码 14
第2章 对象、消息、运行期 21
第6条:理解“属性”这一概念 21
第7条:在对象内部尽量直接访问实例变量 28
第8条:理解“对象等同性”这一概念 30
第9条:以“类族模式”隐藏实现细节 35
第10条:在既有类中使用关联对象存放自定义数据 39
第11条:理解objc_msgsend的作用 42
第12条:理解消息转发机制 46
第13条:用“方法调配技术”调试“黑盒方法” 52
第14条:理解“类对象”的用意 56
.第3章 接口与api设计 60
第15条:用前缀避免命名空间冲突 60
第16条:提供“全能初始化方法” 64
第17条:实现description方法 69
第18条:尽量使用不可变对象 73
第19条:使用清晰而协调的命名方式 78
第20条:为私有方法名加前缀 83
第21条:理解objective-c错误模型 85
第22条:理解nscopying协议 89
第4章 协议与分类 94
第23条:通过委托与数据源协议进行对象间通信 94
第24条:将类的实现代码分散到便于管理的数个分类之中 101
第25条:总是为第三方类的分类名称加前缀 104
第26条:勿在分类中声明属性 106
第27条:使用“class-continuation分类”隐藏实现细节 108
第28条:通过协议提供匿名对象 114
第5章 内存管理 117
第29条:理解引用计数 117
第30条:以arc简化引用计数 122
第31条:在dealloc方法中只释放引用并解除监听 130
第32条:编写“异常安全代码”时留意内存管理问题 132
第33条:以弱引用避免保留环 134
第34条:以“自动释放池块”降低内存峰值 137
第35条:用“僵尸对象”调试内存管理问题 141
第36条:不要使用retaincount 146
第6章 块与大中枢派发 149
第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章 系统框架 185
第47条:熟悉系统框架 185
第48条:多用块枚举,少用for循环 187
第49条:对自定义其内存管理语义的collection使用无缝桥接 193
第50条:构建缓存时选用nscache而非nsdictionary 197
第51条:精简initialize与load的实现代码 200
第52条:别忘了nstimer会保留其目标对象 205
《中国之读:“中国文学”的理论和方法》内容简介:本书是作者近些年来从事文学研究所作论文的选编。着眼于文学理论和评论的“中国
《岛屿来信》内容简介:翁达杰说,如果你从空中俯瞰,这个世界是没有疆界的,地图上那些边界线都不存在。因为对这个世界心存向往,
《初级会计实务辅导教材》内容简介:《2013年会计专业技术资格全国统考专用辅导教材:初级会计实务辅导教材》是针对2013年全国会计
《手把手教你学C语言》内容简介:本书是学习C语言的入门书籍,内容非常全面,包含C语言基础知识、流程控制、数组、函数、指针、字符
《著作权纠纷案例与实务》内容简介:本书共分5章,主要包括著作权概述、著作权侵权纠纷、邻接权纠纷、著作权合同纠纷和网络著作权纠
《企业内部控制从懂到用》内容简介:本书将作者近20年内控咨询、培训及与企业各级管理人员沟通交流的经验进行归纳沉淀,通过完备的
《Docker从入门到实战》内容简介:本书从Docker的相关概念与基础知识讲起,结合实际应用,通过不同开发环境的实战例子,详细介绍了
《张晋张谦集校笺》内容简介:本书为“清代诗人别集丛刊”中的一种,着眼于深度整理清初甘肃著名诗人张晋和张谦的诗集。书稿整理了
《精通CSS网布布局》深入、系统地讲解了使用css进行网页布局设计的相关知识和技巧,内容包括css基础、文字和版式设计、图像控制、
粒计算与数据推理 本书特色 粒计算的方法理念是本书各章节贯穿的主线。第1章的讨论针对粒计算涉及的概念,强调了粒的核心地位,设定了粒的形式化框架,该框架使给出的几...
《雾都孤儿》内容简介:《雾都孤儿》(1838),又译《奥利弗·退斯特》,是作者的第一部社会小说。作品通过孤儿奥利弗的凄苦遭遇,
平面构成就是在二维平面内创造理想形态,或是将既有的形态(具体形态的抽象形态)按照一定原理进行分解、组合,从而构成多种理想
AstudyofOFDM,includingacomparisonwithotherformsofsinglecarriermodulationmethods....
《秒懂视频号:短视频变现+直播带货+私域导流+流量运营》内容简介:本书对于短视频的下半场来说,微信视频号是普通人可以抓住的机遇
《生活中的运筹学》内容简介:为了帮助对运筹学感兴趣的读者掌握最基础也最实用的运筹方法,本书分10章阐述了运筹学中最基本的思想
2001年6月,日本国际交流基金会北京事务所和朱锷设计事务所共同策划了一次海报展览会。这部海报作品集中刊登的142幅海报作品是为
数据科学 本书特色 数据科学是一门新兴的热门科学,国外一流大学纷纷设立同名课程,相应的专业、课程及书籍也深受欢迎。本书是国内**部系统阐述数据科学的重要专著,填...
《通信原理(第6版)学习辅导与考考指导(第2版)》是以樊昌信教授和曹丽娜教授编著的《通信原理(第6版)》教材为主要参考书,同时参
没有灵感怎么办?这不应该阻碍你创作出色的设计作品。设计并非运气、灵感或者自说自话,它以向客户交付合理的、实用的作品为既定
《操盘:千股涨停》内容简介:2015年上万亿资金逐鹿A股市场,各路私募基金迅速扩张,大量的场内场外杠杆交易大行其道。青山投资异军