《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
《Web网页设计创意课》将呈现创建精彩绝伦的Web应用所需要的一切。这本《Web网页设计创意课》里的所有素材都来源于创作者的网站,
《Django 3.0入门与实践》内容简介:本书是一线程序员多年开发经验的结晶。书中深入浅出地讲解了使用Django开发Web网站所需的配置、
UGNX4.0三维建模基础教程 内容简介 EDS公司的Unigraphics NX(后文简称为UG NX)是世界*顶级的CAD/CAE/CAM产品研发解决方案,...
《石门铭》内容简介:《石门铭》,又称《泰山羊祉开复石门铭》。北魏宣武帝永平二年(五〇九)立,记述了梁、秦二州刺史羊祉和左校
《数字档案资源社会化开发》内容简介:档案信息资源开发是对档案内容的一种再现叙事。长期以来,这种再现叙事的主体主要是保管档案
《别让心态毁了你》内容简介:保持什么样的心态就会有什么样的行为方式,而行为方式决定着一个人的生人走向。心态能够成就一个人,
《中国财政分权、地方政府行为与经济增长》内容简介:本书是国家社科基金重点项目的研究成果,入选“国家哲学社会科学成果文库”。
《Java虚拟机精讲》内容简介:HotSpot VM是目前市面上高性能JVM的代表作之一,它采用解释器+JIT编译器的混合执行引擎,使得Java程序
《OpenCV 4.5计算机视觉开发实战:基于Python》内容简介:OpenCV是一个跨平台计算机视觉和机器学习软件库,也是计算机视觉领域的开
《文徵明行书琵琶行》内容简介:文徵明行书《琵琶行》,书于八十八岁(一五五七),现藏于湖南省博物馆。正文所录《琵琶行》是白居
计算机网络(第5版) 内容简介 本书自1989年首次出版以来,于1994年、1999年和2003年分别出了修订版。2006年8月本教材通过了教育部的评审,被纳入...
在计算机发展的历史上,没有哪一种程序设计语言像C语言这样应用广泛。本书是C语言的设计者之一DennisM.Ritchie和著名计算机科学家
《算法的乐趣》内容简介:算法之大,大到可以囊括宇宙万物的运行规律;算法之小,小到寥寥数行代码即可展现一个神奇的功能。算法的
《淘宝店铺经营管理一册通》内容简介:《淘宝店铺经营管理一册通》基于多家淘宝金冠卖家多年来开店的经验,针对淘宝管理和客服进行
《男人使用手册》内容简介:对于女人来说,男人是一个出口,一旦女人爱上男人,她便开始了一段出走,世界颠倒,灵魂出走,走出自己
HTML5权威指南 本书特色 《html5权威指南》是系统学习网页设计的权威参考图书。《html5权威指南》分为五部分:**部分介绍学习本书的预备知识和html...
《布克·华盛顿与杜波依斯的思想之争及其对非裔政治领袖的影响(英文版)》内容简介:20世纪初,布克·华盛顿与杜波依斯就非裔美国
《小红书达人实操攻略》内容简介:小红书以其操作简单、界面简约、阅读轻松的特点吸引了不少年轻人,是当下流行的分享和发现世界精
《过去的工作》内容简介:《过去的工作》收入周作人在抗战胜利前后(一九四五年四月至十二月)所作文章十五篇。文章延续四十年代以
《爆发》内容简介:本书是一本超越《黑天鹅》的惊世之作。如果说塔勒布认为人类行为是随机的,都是小概率事件,是不可以预测的;那