《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
《数据化运营速成手册》内容简介:《数据化运营速成手册》用于提升互联网公司员工的数据应用能力,即数据化运营能力。首先,从最常
《WPF编程宝典:使用C#2008和.NET3.5》在亚马逊网站上深受读者好评.由微软公司的最有价值专家MatthewMacDonald倾力而作,凝聚了M
JAVA程序员修炼之道 本书特色 《java程序员修炼之道》分为四部分,**部分全面介绍java7的新特性,第二部分探讨java关键编程知识和技术,第三部分讨论...
本书共分10章,除了第1章的通信系统概论之外,余下的章节主要介绍通信的信息理论和传输理论,内容包括:通信的信息理论基础、通信
《关键关系》内容简介:企业高管与商业利益相关者,以及政府、监管部门管理者之间的个人关系,即本书所关注的管理者联结,不仅是我
《自适应学习:人工智能时代的教育革命》内容简介:本书以浅显生动的语言讲述最前沿的理念——人工智能与自适应学习将如何改变教育
《西方绘画大师经典佳作:塞尚》内容简介:印象主义画派是19世纪最重要的艺术流派之一,其将光与色彩的科学观念引入到绘画中,对当
ASP动态网页程序设计 本书特色 任长权、邹德文主编的《asp动态网页程序设计(全国高等院校十二五规划教材)》所举案例都是作者通过多年的教学和网站开发经...
《守望一朵花开》内容简介:《每天读点好英文:守望一朵花开》内容简介::“每天读点好英文”系列升级版是专为有提高英文水平需要和
计算机常用算法与程序设计案例教程(高等学校计算机专业教材精选·算法与程序设计) 本书特色 首创“案例”形式实现算法与程序设计教学。通过典型案例来引导算法设计的逐...
《你见过我的妈妈吗?:穿山甲松果的故事》内容简介:本书为国际爱护动物基金会(FAW)“希望的家园系列”从书之一,从中华穿山甲“
你是否从事Android操作系统开发,会创建简单的Android应用,但想进一步提升自己的开发技巧?你是否想深入挖掘Android操作系统的特
Photoshop CC设计经典特效228例-(附赠3DVD.含35小时多媒体教学视频+海量设计素材) 本书特色 本书以平面广告设计为目的,以技法讲解为方式,以...
《CSSWeb站点设计手册》针对初、中级读者,特别是针对入门级读者。书中包含了经过精心筛选的学习CSS必须要了解和掌握的所有内容。
《乾隆:政治、爱情与性格》内容简介:中国历史最复杂的皇帝的政治、后宫与人生。读懂了这个人,你就读懂了中国历史,读懂了中国政
《信息之美》告诉读者信息视觉效果的显示和信息如何关联,以及和这些信息相关的事实,让信息设计更有意思,信息决策更高效。我们
《综合评价招生》内容简介:当下,我国高校招生已经从最初的单一的裸分录取方式逐渐发展为多元化的录取路径。而随着新高考改革的不
《黄永玉:把自己活成一部历史》内容简介:黄永玉,土家族,中国画家,现为中央美术学院教授,曾任版画系主任。本书记录了黄永玉耄
《零基础学JavaWeb开发:JSP+Servlet+Sfruts+Spring+Hibernte》全面讲解JavaWeb应用开发的编程技术,并详细介绍Java...
本书列出了100个改变建筑的伟大观念,其中很多观念至今仍在深刻影响着我们这个时代的建筑发展。书中不可避免地侧重于对一些较新的