《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
《市场营销:理论、案例与实训(第二版)》内容简介:本书系统地介绍了市场营销理论的基本框架和内容,详细阐述了市场营销学的最新
《大写的历史:被遗忘的历史事件》内容简介:《左传》既然是战国初期才正式成书,而赵氏宗族又是晋国政治权力博弈中的最后胜利者,
《简笔画5000例,一本就够(男生卷)》内容简介:简笔画几乎是每个人孩提时代绘画生涯的开始。简单的线条,可爱的形状,总能释放你
《第三种创新》的作者罗伯托•维甘提是创新管理权威专家,米兰理工大学管理学院与设计学院教授,关于意大利设计管理的研究荣获意
《激进意志的样式(2018年版)》内容简介:本书为“苏珊•桑塔格全集”一种,是桑塔格一本重要的文论集,是对于《反对阐释》所研究的
随着多媒体业务不断地推陈出新,无线接入技术正呈现高带宽和IP化的趋势。作为新一代的宽带无线接入技术,WiMAX/802.16以自身固有
《邓石如篆书千字文》内容简介:篆书一直以中锋用笔为正宗,形成了铁线篆、玉箸篆这样略显工艺化的成熟书体。早年邓石如临习“二李
《PHP5完全攻略(畅销书升级版)》是目前第一本真正介绍PHP5及MySQL5新增语法与功能的中文版本权威宝典!《PHP5完全攻略(畅销书升级
《可能世界视域下的名称和同一性理论研究》内容简介:本书主要对克里普克可能世界视域下的名称理论和同一性理论展开阐述与研究,内
本书是数字图像处理领域的一本新著,是1977年问世的《数字图像处理(第一版)》的重要修订与扩充。较上一版,啬了关于小波变换、
叶伟,阿里软件研发中心总监.曾先后就职于金仕达卫宁.IBM.金蝶,在HIS.ERP.SaaS领域领导开发了多个大型成功产品.复旦大学计算机科学
Didyoueverwonderwhycheapwinetastesbetterinfancyglasses?WhysalesofMacintoshcomput...
《麦克手绘:室内快题设计与表现》内容简介:本书在手绘技法表现的基础上,着重快题设计的讲解。为了让读者能够快速掌握设计表达的
Visual Foxpro程序设计教程 本书特色 本书围绕“岳麓书院图书管理系统”实例,完整地描述了数据库应用系统开发的各个环节,将系统开发的具体步骤详细地贯穿...
人体通信的建模、仿真与实现 本书特色宋勇、郝群*的《人体通信的建模仿真与实现》主要结合作者已完成和正在进行的研究工作,系统阐述人体通信的建模、仿真及实现问题,具...
GradyBooch、JamesRumbaugh和IvarJacobson是UML的创始人,均为软件工程界的权威,除了著有多部软件工程方面的著作之外,在对象技
《中国政党学说文献汇编(第三卷)》内容简介:第三卷收集的是1930—1949年间中国政党理论的文献资料。以编者查阅的国内报刊篇章、
揭开时间之谜一直是人类一个最古老的梦想。其中可想而知的是,与了解过去一切相比,人们更渴望拉开未来的帷幕。其实,对于往事的
《Oracle9i&10g编程艺术:深入数据库体系结构》是讲述Oracle数据库公证的权威指南,凝聚了世界顶尖的Oracle专家ThomasKyte数十年的
交互式计算机图形学基于OPENGL的自顶向下方法(第5版)英文版 本书特色 《交互式计算机图形学——基于OpenGL的自顶向下方法》可作为计算机及相关专业本科生...