《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
《人体经络按摩祛病养生一本就够》内容简介:穴位按摩通过刺激人体特定穴位,通畅经络之气,达到舒经活络、调整人体功能、祛邪扬正
《C语言从入门到项目实践(超值版)》内容简介:本书采取“基础知识→核心应用→核心技术→高级应用→行业应用→项目实践”结构和“
本书出自日本知名游戏公司万代南梦宫的资深开发人员之手,面向初级游戏开发人员,通过10个不同类型的游戏实例,展示了真正的游戏
《2014年度全国会计专业技术资格考试真题详解及押题密卷:初级会计实务》内容简介:《2014年度全国会计专业技术资格考试真题详解及
《道德经说什么2》内容简介:现代快节奏与高压的生活,让很多人在工作与健康之间来回摇摆,不知道该如何取舍。面对工作、生活、人际
SEO教程-搜索引擎优化入门与进阶-第2版 本书特色 seochatorg站长实战经验结晶,网站推广**手册,内容系统、全面、深入,贴近实战。SEO教程-搜索引...
单片机初级教程 本书特色 《单片机初级教程:单片机基础》在各章中对关键性内容都结合实例予以说明,同时还安排了大量思考题和习题,以利于读者对所述内容的理解、掌握、...
Userexperiencedesignteamsoftensufferfromadecentralized,blankcanvasapproachtocrea...
《鲁迅自编文集:华盖集续编》内容简介:本书是鲁迅的一部杂文集,收录了鲁迅在1926年间所写的杂文三十二篇。包括《杂论管闲事·做
Withmorethan67%ofwebserversrunningApache,itisbyfarthemostwidelyusedwebserverplat...
日本珠寶學苑編?大場子著日本珠寶學苑是一所專門教授珠寶製作的教育機構,位於世界幾個有名的珠寶商業區域之一~東京上野附近的御
《华为绩效管理》内容简介:本书基于使华为的绩效管理体系在不同类型企业内落地的目的,对于众多企业如何学习华为的绩效管理体系进
《“四自教育”培育阳光少年》内容简介:本书是第八届上海市中小学德育研究协会课题“以‘四自教育’校本德育课程为载体培育阳光少
《管理者如何让人长期追随》内容简介:◆管理者如何让人长期追随!只需要躲开这21种低级错误! ◆一堂价值25万美金的管理课程! ◆
《Hadoop实战》作为云计算所青睐的分布式架构,Hadoop是一个用Java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据
微型计算机原理与接口技术学习指导--习题解答及实验 内容简介 本书分为两部分,**部分是针对主教材各章的大纲要求、重点内容与考核要求、习题分析与解答;第二部分是...
《WebGL编程指南》内容简介:WebGL是一项在网页上渲染三维图形的技术,也是HTML5草案的一部分。本书的主要篇幅讲解了WebGL原生API和
《卑鄙的圣人:曹操6》内容简介:一件件讲透,曹操收拾三国群雄的卑鄙、奸诈、狠毒计谋; 一页页浸透,曹操体恤天下众生的柔情、仁
《插画师之路——100堂水彩插画手绘实战课》内容简介:这是一本水彩插画手绘技法书。本书共6章,第1章介绍了插画绘图工具及绘画技法
本书是一本介绍Linux设备驱动开发理论、框架与实例的书,本书以Linux2.6版本内核为蓝本,详细介绍自旋锁、信号量、完成量、中断