Objective-C入门经典


Objective-C入门经典

文章插图
Objective-C入门经典【Objective-C入门经典】《Objective-C入门经典》是2013年1月1日人民邮电出版社出版的图书,作者是Jesse Feiler 。
基本介绍中文名:Objective-C入门经典
外文名:Sams Teach Yourself Objective-C In 24 Hours
作者:Jesse Feiler
出版社:人民邮电出版社
页数:288页
开本:16
品牌:人民邮电出版社
译者:陈昕昕
出版日期:2013年1月1日
语种:简体中文
ISBN:9787115298867
内容简介《Objective-C入门经典》分成5大主要部分:第1部分概述了Objective-C语言,包括面向对象特性、开发环境、开发流程、源码管理及编译器指令方面的内容 。第2部分介绍了Objective-C语言的基础知识,包括如何创建和使用类,如何使用集合管理对象,如何管理记忆体和运行时对象等方面的内容 。第3部分讲述了如何扩展Objective-C对象,包括如何使用协定和委託,如何使用分类和扩展,如何使用关联引用和快速枚举以及如何使用块方面的内容 。第4部分讲述Objective-C语言中较为高级的主题,包括如何使用异常、伫列和执行绪,以及如何使用调试工具和检测工具来分析程式 。《Objective-C入门经典》是一本介绍Objective-C语言的入门图书 。《Objective-C入门经典》以一种全新的方式,探讨了如何在Mac平台上快速地掌握Objective-C语言,帮助读者轻鬆地学习Objective-C语言 。《Objective-C入门经典》中源码可通过网路下载,书中案例式教学,手把手读者完成最常见的Objective-C开发任务;章节末尾的问与答、测验和练习题,帮助读者检验知识的掌握情况 。《Objective-C入门经典》适合想学习Objective-C语言、提升编程技能的初级程式设计师和其他人员阅读 。《Objective-C入门经典》可以让初学者迅速入门,轻鬆掌握Objective-C语言;可以让有经验的程式设计师,巩固个人知识,提升编码技能 。作者简介《Objective-C入门经典》作者Jesse Feiler是North Country Consulting公司的所有者,致力于向大型企业和非盈利机构提供技术相关的谘询服务 。Feiler从1985年开始成为一名Apple开发人员,曾经为Apple推出的Mac、Newton、iPhone和iPad设备开发过套用 。他最近为iPad开发了一款名为MinutesMachine的会议管理软体 。Feiler最近撰写的图书包括Sams Teach Yourself Core Data in 24 Hours、Data-Driven iOS Apps for iPad and iPhone with FileMaker Pro, Bento by FileMaker and FileMaker Go、FileMaker Pro in Depth、Sams Teach Yourself Drupal in 24 Hours 。图书目录第1部分 第1章 Objective—C概述 2 1.1 Objective—C简介 2 1.2 注册成为Apple开发者 3 1.2.1 选择适合自己的计画 3 1.2.2 选择自己的会员类别 4 1.2.3 注册自己的AppleID 5 1.3 配置开发环境 5 1.3.1 Xcode简介 5 1.3.2 运行第一个项目 6 1.4 总结 12 1.5 问与答 12 1.6 测验 12 1.6.1 问题 12 1.6.2 答案 12 1.7 练习 13 第2章 使用Objective—C进行面向对象程式设计 14 2.1 Objective—C世界中的面向对象程式设计 14 2.1.1 实现面向对象程式设计 14 2.1.2 构建面向对象项目 15 2.1.3 框架初探 15 2.2 使用对象创建C 16 2.2.1 理解数据抽象 17 2.2.2 研究封装 17 2.2.3 使用访问器(Accessor)管理封装 19 2.3 管理Objective—C世界中的继承 20 2.4 总结 21 2.5 问与答 21 2.6 测验 21 2.6.1问题 21 2.6.2答案 21 2.7 练习 22 第3章 使用Objective—C中的面向对象特性 23 3.1 使用讯息与方法进行通信 23 3.1.1 简单讯息 23 3.1.2 声明方法 24 3.1.3 使用类方法 24 3.1.4 使用id——强和弱类型变数 25 3.1.5 嵌套讯息 25 3.1.6 方法签名和参数初探 26 3.2 分配和初始化对象 27 3.3 总结 27 3.4 问与答 28 3.5 测验 28 3.5.1 问题 28 3.5.2 答案 28 3.6 练习 28 第4章 使用Git原始码仓库来组织项目 29 4.1 开始使用Xcode 29 4.2 跟蹤原始码 32 4.2.1 原始码控制探究 33 4.2.2 在原始码仓库的世界中工作 34 4.2.3 在Xcode中使用Git 35 4.3 使用远程仓库 43 4.4 总结 46 4.5 问与答 46 4.6 测验 47 4.6.1 问题 47 4.6.2 答案 47 4.7 练习 47 第5章 使用编译器指令 48 5.1 浏览项目 48 5.2 使用编译器指令 50 5.2.1 使用基础指令 50 5.2.2 Prefix头初探 50 5.2.3 main.m中的普通C代码初探 51 5.2.4 研究头(.h)档案 52 5.2.5 深入探究讯息(.m)档案 53 5.3 使用Objective—C编译器指令 55 5.4 总结 55 5.5 问与答 55 5.6 测验 55 5.6.1 问题 55 5.6.2 答案 56 5.7 练习 56 第2部分 第6章 讯息和试验床应用程式探究 58 6.1 创建测试套用 58 6.2 添加一个文本域并将其与代码连线起来 61 6.3 向文本域传送讯息 67 6.4 複习讯息语法 68 6.5 总结 69 6.6 问与答 69 6.7 测验 69 6.7.1 问题 69 6.7.2 答案 69 6.8 练习 70 第7章 在接口档案中声明类 71 7.1 让Xcode完成工作 71 7.1.1 设计类 71 7.1.2 準备创建类 72 7.2 浏览类层次 76 7.2.1 调用超类中的方法 76 7.2.2 协定简介 77 7.3 声明类 78 7.3.1 编写基本的类声明 78 7.3.2 使用前向引用 79 7.4 总结 79 7.5 问与答 80 7.6测验 80 7.6.1问题 80 7.6.2 答案 80 7.7 练习 80 第8章 在接口档案中声明实例变数 81 8.1 声明实例变数和属性 81 8.2 使用类 81 8.2.1 将类实例放置在上下文中 82 8.2.2 选择上下文 82 8.3 使用id创建一个引用CurrencyConverter的实例变数 83 8.4 使用类名称创建一个引用CurrencyConverter的实例变数 85 8.5 使用超类名创建一个引用CurrencyConverter的实例变数 87 8.6 管理实例变数的作用域 89 8.7 总结 90 8.8 问与答 90 8.9 测验 90 8.9.1 问题 90 8.9.2 答案 90 8.10 练习 90 第9章 在接口档案中声明属性 91 9.1 接口变数和属性比较 91 9.1.1 複习基本的变数声明 92 9.1.2 创建声明属性:基础 93 9.1.3 处理对象占用的记忆体 94 9.1.4 使用声明属性(Properties)的特性(Attributes) 95 9.2 使用声明属性 95 9.2.1 使用讯息语法访问属性 96 9.2.2 使用点语法访问属性 96 9.3 使用特性(Attributes) 97 9.3.1 访问器方法 97 9.3.2 可写性 98 9.3.3 Setter语义 98 9.3.4 原子性 98 9.4 使用其他特性装饰器 99 9.5 实现属性 99 9.5.1 使用@synthesize创建访问器 99 9.5.2 使用@dynamic允诺数据 100 9.6 总结 100 9.7 问与答 100 9.8 测验 100 9.8.1 问题 100 9.8.2 答案 101 9.9 练习 101 第10章 在接口档案中声明方法 102 10.1 使用类中的方法 102 10.2 複习方法语法 103 10.2.1 区分类和实例方法 103 10.2.2 方法声明探究 104 10.2.3 编写方法声明 106 10.2.4 从方法返回複杂数据结构 106 10.3 总结 107 10.4 问与答 107 10.5 测验 107 10.5.1 问题 107 10.5.2 答案 108 10.6 练习 108 第11章 在接口档案中声明动作 109 11.1 动作简介 109 11.2 MacOSX和iOS中的动作比较 118 11.2.1 断开与动作的连线 120 11.3 问与答 120 11.4 测验 121 11.4.1 问题 121 11.4.2 答案 121 11.5 练习 121 第12章 使用选择器路由讯息 122 12.1 深入研究Objective—C讯息 122 12.2 深入研究Objective—C运行时 123 12.3 使用SEL和@selector() 124 12.4 使用performSelector 125 12.4.1 使用@selector()创建选择器 125 12.4.2 根据字元串创建选择器 126 12.4.3 使用选择器 126 12.5 使用NSInvocation 128 12.5.1 创建NSInvocation 128 12.5.2 使用NSInvocation属性 129 12.5.3 调用NSInvocation 130 12.6 测试一个实例是否能够回响选择器 131 12.7 总结 131 12.8 问与答 131 12.9 测验 132 12.9.1 问题 132 12.9.2 答案 132 12.10 练习 132 第13章 基于Foundation框架构建应用程式 133 13.1 Foundation框架探究 133 13.2 Foundation类 134 13.2.1 根类 134 13.2.2 其他类 135 13.3 Foundation範式与策略 136 13.3.1 可变性 136 13.3.2 类簇 136 13.3.3 通知 137 13.4 总结 139 13.5 问与答 139 13.6 测验 140 13.6.1 问题 140 13.6.2 答案 140 13.7 练习 140 第14章 在实现档案中定义一个类 141 14.1 创建一个新项目 141 14.1.1 重新思考动态类型 142 14.1.2 设计(Currency)Converter 142 14.2 创建新套用 144 14.3 实现方法 147 14.4 使用init方法扩展类 150 14.5 总结 151 14.6 问与答 151 14.7 测验 151 14.7.1 问题 151 14.7.2 答案 152 14.8 练习 152 第15章 使用集合组织数据 153 15.1 收集对象 153 15.2 熟悉属性列表 155 15.2.1在属性列表中使用集合 155 15.2.2 在运行时根据属性列表构建集合 156 15.3 集合类比较 156 15.4 创建集合 157 15.4.1 使用公共集合创建方法 157 15.4.2 读取和写入数组 158 15.4.3 读取和写入字典 159 15.4.4 创建集合 160 15.5 枚举集合 160 15.5.1 NSEnumerator方法探究 160 15.5.2 为集合创建NSEnumerator实例 160 15.6 测试集合中的成员关係 162 15.7 访问集合中的对象 162 15.8 总结 163 15.9 问与答 163 15.10 测验 163 15.10.1 问题 163 15.10.2 答案 163 15.11 练习 164 第16章 管理记忆体和运行时对象 165 16.1 管理记忆体中的对象 165 16.2 手工管理引用计数 166 16.2.1 释放对象 167 16.2.2 向Converter添加记忆体管理功能 167 16.2.3 记忆体管理小结 169 16.3 使用ARC管理引用计数 169 16.3.1 使用声明属性特性 169 16.3.2 最佳化Converter 170 16.4 变数限定符 171 16.5 自动释放变数 171 16.6 总结 172 16.7 问与答 172 16.8 测验 172 16.8.1 问题 172 16.8.2 答案 172 16.9 练习 172 第3部分 第17章 使用协定和委託(Delegate)扩展一个类 176 17.1 子类化的优缺点探究 176 17.2 MultipleDetailViews示例代码探究 177 17.3 深入协定 181 17.4 使用委託 182 17.4.1 从头档案中获取更多帮助 183 17.4.2 在InterfaceBuilder中查看连线 183 17.5 总结 185 17.6 问与答 185 17.7 测验 185 17.7.1 问题 185 17.7.2 答案 186 17.8 练习 186 第18章 使用分类和扩展(Extension)扩充一个类 187 18.1 分类和协定比较 187 18.1.1 选择何时使用分类 187 18.1.2 分类与其他技术比较 188 18.2 分类和子类比较 188 18.2.1 修改类层次 188 18.2.2 将变更限制在分类中 189 18.3 使用分类 189 18.4 使用类扩展 192 18.5 使用非正式协定 192 18.6 总结 192 18.7 问与答 192 18.8 测验 193 18.8.1 问题 193 18.8.2 答案 193 18.9 练习 193 第19章 使用关联引用和快速枚举 194 19.1 学习Objective—C2.0中节省时间的特性 194 19.2 通过添加实例变数(部分)扩展类 195 19.2.1 添加一个关联引用 195 19.2.2 读取和设定一个关联引用 196 19.2.3 根据键删除一个关联引用 198 19.2.4 删除一个对象中的所有关联引用 198 19.3 使用快速枚举 198 19.3.1 使用快速枚举 198 19.3.2 通过一个NSEnumerator使用快速枚举 199 19.4 总结 200 19.5 问与答 200 19.6 测验 200 19.6.1 问题 200 19.6.2 答案 200 19.7 练习 200 第20章 使用块 201 20.1 複习块 201 20.2 回调函式探究 202 20.3 引入块 204 20.3.1 创建块作为块变数 205 20.3.2 使用块变数 205 20.4 学习Cocoa中的块 207 20.4.1 NSString中的方法enumerateLinesUsingBlock: 207 20.4.2 NSArrayenumerateObjectsUsingBlock: 208 20.4.3 NSSetenumerateObjectsUsingBlock: 208 20.4.4 NSDictionaryenumerateKeysAndObjectsUsingBlock: 208 20.5 深入研究Cocoa块和记忆体 208 20.6 总结 209 20.7 问与答 209 20.8 测验 209 20.8.1 问题 209 20.8.2 答案 210 20.9 练习 210 第4部分 第21章 处理异常 212 21.1 重新思考异常和错误 212 21.2 异常和错误类介绍 213 21.2.1 使用异常 213 21.2.2 使用错误 214 21.2.3 深入学习NSException 214 21.2.4 深入学习NSError 214 21.3 识别一个异常 216 21.4 抛出一个异常 217 21.5 捕获一个异常 218 21.6 总结 218 21.7 问与答 219 21.8 测验 219 21.8.1 问题 219 21.8.2 答案 219 21.9 练习 219 第22章 集中分发:使用伫列和执行绪 220 22.1 开始使用并发 220 22.1.1 深入研究计算机中的处理器 220 22.1.2 在不重写用户套用的情况下使用并发 221 22.1.3 使用执行绪实现并发 221 22.1.4 集中分发(GCD)简介 222 22.2 伫列简介 222 22.2.1 分发伫列 223 22.2.2 分发源 223 22.2.3 操作伫列 224 22.3 使用分发伫列 224 22.3.1 使用全局并发分发伫列 224 22.3.2 向全局并发伫列添加任务 225 22.3.3 使用伫列设计套用 225 22.4 总结 226 22.5 问与答 226 22.6 测验 226 22.6.1 问题 226 22.6.2 答案 226 22.7 练习 226 第23章 使用调试器 228 23.1 记录信息 228 23.2 使用控制台日誌 229 23.2.1 使用NSLog 229 23.2.2 增强NSLog 230 23.3 使用智慧型断点 231 23.3.1 使用讯息增强断点 232 23.3.2 根据条件触发 234 23.4 总结 235 23.5 问与答 235 23.6 测验 236 23.6.1 问题 236 23.6.2 答案 236 23.7 练习 236 第24章 使用Instruments来分析 237 24.1 考虑使用Instruments 237 24.2 深入学习Instruments 239 24.3 开始使用Instruments 241 24.4 连线到iOS模拟器 243 24.5 总结 244 24.6 问与答 245 24.7 测验 245 24.7.1 问题 245 24.7.2 答案 245 24.8 练习 245 第5部分 附录A C语法小结 248 A.1 数据类型 248 A.1.1 枚举类型 248 A.1.2 Struct类型 249 A.1.3 指针 249 A.1.4 数组 249 A.2 控制结构 250 A.2.1 if语句 250 A.2.2 switch语句 250 A.2.3 重複语句 250 附录B 套用、包和Bundle 251 附录C 为开发和测试对套用进行归档和打包 255 附录D Xcode4简介 258 D.1 了解Xcode 258 D.2 再见“HelloWorld” 259 D.2.1 使用命令式和声明式程式设计範式 259 D.2.2 使用面向对象程式设计 260 D.3 MacOSX和iOS平台套用开发简介 261 D.4 开始使用Xcode 262 D.5 使用导航栏 264 D.5.1 项目Win—1 264 D.5.2 符号Win—2 267 D.5.3 搜寻Win—3 268 D.5.4 问题Win—4 269 D.5.5 调试Win—5 270 D.5.6 断点Win—6 270 D.5.7 日誌Win—7 271 D.6 使用编辑器 272 D.6.1 使用编辑模式 272 D.6.2 使用跳转栏 272 D.7 使用辅助 275 D.8 在编辑器视窗中获取帮助 276 D.9 使用实用工具——检查器 276 D.10 使用实用工具——库 279 D.10.1 档案模板库 280 D.10.2 代码片段库 281 D.10.3 对象库 283 D.10.4 媒体库 283 D.11 使用文本编辑器 283 D.11.1 设定编辑首选项 284 D.11.2 使用Fix—It和代码补全 286 D.12 使用Organizer视窗 287