新書推薦: 
			  
			《 
			HR数智化转型:人机协同与共生
			》 
			 售價:HK$ 
			367
			 
			 
	
			  
			《 
			范怨武讲透中医基础理论(全2册,中医临床医生范怨武历经四年精心创作)
			》 
			 售價:HK$ 
			551
			 
			 
	
			  
			《 
			怪诞行为学·漫画版——战胜拖延症
			》 
			 售價:HK$ 
			194
			 
			 
	
			  
			《 
			四海资身笔一枝:唐寅的书画人生【全球33家顶级机构珍藏,全景展现“江南第一风流才子”的艺术世界】
			》 
			 售價:HK$ 
			857
			 
			 
	
			  
			《 
			50岁后的家庭生活:中老年人的日常活动、家务劳动与孩童照料
			》 
			 售價:HK$ 
			653
			 
			 
	
			  
			《 
			《正义论》导读 壹卷Yebook 理解《正义论》关于哲学、科学、社会、历史和人类未来的批判性思考
			》 
			 售價:HK$ 
			418
			 
			 
	
			  
			《 
			红楼梦脂评汇校本(平装版 全八册)
			》 
			 售價:HK$ 
			1520
			 
			 
	
			  
			《 
			万物皆有时:中世纪的时间与生活
			》 
			 售價:HK$ 
			449
			 
			 
	
 
      | 
     
      
      
         
          | 編輯推薦: | 
         
         
           
            技术新颖,基于iOS 7撰写,详细讲解开发iPhone和iPad应用所需掌握的各项基础知识、开发流程和高级技巧,是系统学习iOS应用开发的经典著作。
 资深MaciOS工程师撰写,内容循序渐进,实战性强,每个知识点都准备了辅助理解的小案例,最后还提供两个综合性案例。
           | 
         
       
      
      
      
      
         
          | 內容簡介: | 
         
         
           
            本书由资深MaciOS开发工程师基于iOS
 7撰写。内容全面,从Objective-C语法知识、iOS功能特性,到高级开发方法和技巧,几乎涵盖了中初级iOS开发工程师需要掌握的所有技术和知识;实战性强,每个知识点都有辅助理解的小案例,最后还提供了两个综合性应用开发案例。内容循序渐进,是系统学习iOS应用开发的经典著作。
 
 全书共20章,分4部分。准备篇(第1~2章)介绍了iOS、Objective-C和Xcode的入门知识,详细描述了iOS
 7新特性、Objective-C应用开发环境的搭建,以及iPhone应用开发的完整过程;语法篇(第3~8章)详细讲解Objective-C的语法知识,其中包括类、对象、消息和协议,以及内存管理,重点讲解了Foundation框架常用类的使用方法;基础篇(第9~18章)讲解了iOS应用开发的框架,包含多状态和多任务、视图和视图控制器、事件和通知、音频和视频等,这些内容是本书的重点;实战篇(第19~20章)详细讲解了两个实战案例的完整开发过程,分别是基于iPad的应用程序“精灵小书柜”和基于iPhone的“弹球游戏”,目标是通过两个案例把前面学到知识应用到实践中,帮助读者真正掌握iOS应用开发的过程。
           | 
         
       
      
      
      
         
          | 關於作者: | 
         
         
           
            刘一道
 资深MaciOS开发工程师,有近10年软件开发经验,精通iOS、Objective-C、Xcode等与苹果开发相关的各项技术,同时对Android和Windows
 Phone等移动开发技术也有深入的研究,并积累了丰富的实战经验。出版了《Objective-C程序设计入门与实践》等著作。
           | 
         
       
      
      
      
         
          | 目錄: 
           | 
         
         
           
            前言
 第一部分 准备篇
 第1章 初识iOS、Objective-C和Xcode 2
 1.1 认识iOS 2
 1.1.1 iOS的发展历程 2
 1.1.2 iOS的设计和功能特性 3
 1.1.3 iOS 7的新特性 5
 1.1.4 iOS架构 6
 1.1.5 iOS框架 8
 1.1.6 iOS系统框架的变迁 11
 1.1.7 Mac OS X和iOS平台不同框架的差异性 13
 1.1.8 初步了解iOS开发者工具 16
 1.2 认识Objective-C 20
 1.2.1 发展历程及版本变化 20
 1.2.2 语言性能与分析 21
 1.2.3 框架和代码的关系 22
 1.3 基于非苹果机平台搭建开发环境 23
 1.3.1 前期准备 23
 1.3.2 创建用于安装Mac OS X的VMWare虚拟机 24
 1.3.3 安装Mac OS X 26
 1.3.4 安装Xcode SDK 30
 1.4 小结 33
 第2章 创建你的第一个iOS应用程序 34
 2.1 应用程序的实现目标 34
 2.2 入门的开始 35
 2.2.1 新建一个Xcode项目 35
 2.2.2 在模拟器中查看应用程序的效果 37
 2.3 启动一个应用程序 39
 2.3.1 探究main.m源文件 40
 2.3.2 分析属性列表文件 41
 2.3.3 查看串联图 41
 2.4 检查视图控制器及其视图 43
 2.4.1 如何使用检查器 43
 2.4.2 更改视图的背景颜色 45
 2.5 对视图进行配置和管理 47
 2.5.1 新增用户界面元素 47
 2.5.2 为按钮增添一个动作 51
 2.5.3 为文本框和标签创建插座 53
 2.5.4 打开Connections检查器验证连接 56
 2.5.5 对文本框进行委托处理 57
 2.5.6 让应用程序具有辅助功能 58
 2.6 使用视图控制器完成应用程序 59
 2.6.1 给用户的名称添加属性 59
 2.6.2 实现changeGreeting: 方法 60
 2.6.3 把视图控制器作为输入文本框的委托 61
 2.7 测试应用程序 62
 2.7.1 排查和检测代码 62
 2.7.2 程序代码清单 63
 2.8 小结 64
 第二部分 语法篇
 第3章 Objective-C——构建iOS应用程序的基石 66
 3.1 探窥Objective-C语言 66
 3.1.1 面向对象语言Objective-C是C语言的超集 67
 3.1.2 类和对象 67
 3.1.3 方法和发消息 69
 3.1.4 属性和存取方法 71
 3.1.5 块 72
 3.1.6 协议和类别 73
 3.1.7 类型和编码策略 74
 3.1.8 import语句 76
 3.2 Objective-C 2.0新增特性 78
 3.2.1 关联引用 78
 3.2.2 快速枚举 80
 3.2.3 选择器 81
 3.2.4 静态类型的使用 84
 3.3 进一步认识块 87
 3.3.1 块可以带参数和返回值 87
 3.3.2 块可以捕获封闭范围内的值 87
 3.3.3 在块内捕获变量值的变化 88
 3.3.4 块可以作为函数或者方法的参数 89
 3.3.5 用类型定义可以简化块语法 90
 3.3.6 使用属性可跟踪块 90
 3.4 小结 91
 第4章 类——构建应用程序的类型对象原型 92
 4.1 认识根类 92
 4.1.1 NSObject简介 92
 4.1.2 根类和协议 93
 4.1.3 根类方法 93
 4.1.4 根类接口规范 95
 4.1.5 根类实例方法和类方法 95
 4.2 如何设计类 95
 4.2.1 设计接口 96
 4.2.2 设计实现 99
 4.2.3 如何使用类名 100
 4.2.4 如何比较类 101
 4.3 类的类型 101
 4.3.1 如何指定静态类型 101
 4.3.2 类型的自查处理机制 102
 4.4 变量 102
 4.4.1 局部变量 102
 4.4.2 全局变量 103
 4.4.3 实例变量 103
 4.4.4 静态变量 106
 4.4.5 变量的存储类别 108
 4.5 属性 108
 4.5.1 属性的声明 109
 4.5.2 属性的实现 110
 4.5.3 属性类型和相关函数 111
 4.5.4 属性的类型编码 112
 4.5.5 属性重声明 112
 4.5.6 修改父类的属性 113
 4.5.7 新旧版本属性运行时的区别 113
 4.6 方法 114
 4.6.1 方法通用格式 114
 4.6.2 方法的调用 114
 4.7 继承 115
 4.7.1 类的继承关系 115
 4.7.2 继承父类的实例变量 116
 4.7.3 继承父类的方法 116
 4.7.4 哪些类需要被继承 117
 4.7.5 对象的合成 118
 4.8 方法重写 119
 4.8.1 方法重写的规则 119
 4.8.2 方法重写的使用 120
 4.9 方法重载 121
 4.9.1 方法重载的规则 121
 4.9.2 方法重载的使用 121
 4.9.3 调用还是重载 123
 4.9.4 重载的类型 123
 4.10 类的扩展 125
 4.10.1 类别的用法 125
 4.10.2 延伸的用法 127
 4.11 异常处理 128
 4.11.1 如何启用异常处理 128
 4.11.2 如何捕捉不同类型的异常 128
 4.11.3 如何抛出异常 129
 4.12 小结 129
 第5章 对象——构建应用程序的重要“活体” 130
 5.1 理解对象 130
 5.1.1 对象和根类的关系 130
 5.1.2 对象如何构建程序 131
 5.1.3 对象动态类型 132
 5.1.4 对象的生命周期 133
 5.2 创建对象 137
 5.2.1 对象分配处理的机制 137
 5.2.2 对象初始化方法的原型init 137
 5.2.3 初始化方法的返回值 139
 5.2.4 init方法的实现 140
 5.2.5 多个初始化方法和指定初始化方法 141
 5.2.6 使用dealloc方法 143
 5.2.7 类工厂方法 144
 5.3 对象的所有权 144
 5.3.1 对象所有权策略有哪些 145
 5.3.2 保留计数的处理机制 145
 5.3.3 自动释放所有权 146
 5.3.4 共享对象的有效性 147
 5.3.5 如何获取所有权 148
 5.4 回收对象 149
 5.4.1 dealloc方法的实现 149
 5.4.2 通过引用返回的对象 149
 5.4.3 保留循环的处理机制 150
 5.4.4 对象的弱引用 150
 5.4.5 资源的有效管理 151
 5.5 应用对象 152
 5.5.1 验证对象的功能 152
 5.5.2 比较对象 153
 5.5.3 复制对象 153
 5.6 小结 154
 第6章 消息和协议——对象之间的通信方式 155
 6.1 认识消息 155
 6.1.1 消息的基本语法 155
 6.1.2 消息处理机制 157
 6.1.3 获得方法地址 158
 6.1.4 使用隐藏的参数 159
 6.2 消息发送 159
 6.2.1 向nil发送消息 160
 6.2.2 向自己发送消息 160
 6.2.3 通过发送消息调用父类方法 161
 6.3 消息转发 163
 6.3.1 消息转发处理机制 164
 6.3.2 与多重继承关系 165
 6.3.3 与类继承关系 166
 6.3.4 与消息代理对象关系 167
 6.4 认识协议 167
 6.4.1 协议的分类 167
 6.4.2 协议对象 169
 6.4.3 预定义接口 169
 6.4.4 如何使用预定义方法 170
 6.4.5 为匿名对象声明方法 171
 6.5 应用协议 172
 6.5.1 如何采用一个协议 172
 6.5.2 如何服从一个协议 172
 6.5.3 协议类型校验处理机制 173
 6.5.4 如何实现协议嵌套协议 173
 6.5.5 如何引用其他协议 174
 6.6 小结 175
 第7章 Foundation框架——提供基本的系统服务 176
 7.1 认识Foundation框架 176
 7.1.1 Foundation类层次结构 176
 7.1.2 与Core Foundation框架的区别 180
 7.1.3 如何引用及查询Foundation框架信息 181
 7.1.4 对象的可变性和不变性 183
 7.2 创建和使用值对象 184
 7.2.1 创建值对象 184
 7.2.2 字符串和NSString字面常量 185
 7.2.3 NSNumber字面常量 185
 7.2.4 日期和时间 186
 7.3 创建和使用集 186
 7.3.1 将对象按某种顺序储存在数组中 187
 7.3.2 将键值对储存在字典中 189
 7.3.3 将无序对象储存在集合中 190
 7.4 Foundation框架常用类的使用方法详解 190
 7.4.1 数字类型 191
 7.4.2 字符串类型 193
 7.4.3 数组类型 197
 7.4.4 字典类型 205
 7.4.5 日期类型 207
 7.5 小结 209
 第8章 内存管理——应用程序高效运行的基础 210
 8.1 内存管理基础知识 210
 8.1.1 Cocoa的引用计数机制 210
 8.1.2 内存管理规则 211
 8.1.3 内存管理应用实例 211
 8.1.4 内存管理混乱的原因及解决方法 212
 8.2 存取方法 214
 8.2.1 声明存取方法 214
 8.2.2 实现存取方法 214
 8.2.3 存取方法的使用 216
 8.2.4 实现重置方法 217
 8.2.5 应用存取方法常见错误 218
 8.3 自动释放池 218
 8.3.1 自动释放池工作原理 219
 8.3.2 非Application Kit程序中的自动释放池 219
 8.3.3 自动释放池和线程 220
 8.3.4 作用域和嵌套自动释放池的关系 220
 8.3.5 所有权策略 221
 8.3.6 如何实现垃圾回收 221
 8.4 内存中复制的处理机制 222
 8.4.1 深复制和浅复制 222
 8.4.2 独立副本 223
 8.4.3 使用alloc和init方式复制 223
 8.4.4 使用NSCopyObject函数复制 224
 8.4.5 可变对象和不可变对象的复制 225
 8.4.6 值对象和复制 226
 8.5 Nib对象的内存管理 226
 8.5.1 插座对象实现的内存管理机制 227
 8.5.2 Nib文件实现的内存管理机制 227
 8.6 小结 228
 第三部分 基础篇
 第9章 探究iOS应用程序的核心 230
 9.1 iOS应用程序核心架构 230
 9.1.1 iOS应用程序的生命周期 230
 9.1.2 iOS应用程序的主函数 230
 9.1.3 应用程序的委托 232
 9.1.4 主Nib文件 232
 9.1.5 事件处理周期 232
 9.1.6 应用程序的基本设置模式 234
 9.2 iOS应用程序的核心对象 235
 9.2.1 iOS应用程序的常见对象 235
 9.2.2 数据模型的定义 237
 9.2.3 构建用户界面 239
 9.3 iOS应用程序包 241
 9.3.1 典型的iOS应用程序捆绑包 242
 9.3.2 信息属性列表 243
 9.3.3 程序图标和启动图像 246
 9.3.4 Nib文件 246
 9.4 iOS应用程序关键任务的处理机制 247
 9.4.1 初始化和终止 247
 9.4.2 响应中断 248
 9.4.3 低内存警告 249
 9.5 iOS应用程序的行为定制 250
 9.5.1 以景观模式启动 250
 9.5.2 和其他应用程序的通信 251
 9.5.3 定制的URL模式 251
 9.5.4 应用程序的偏好设置 253
 9.5.5 关闭屏幕锁定 254
 9.6 小结 254
 第10章 多状态和多任务——iOS功能日趋增强的表现 255
 10.1 应用程序的状态 255
 10.1.1 状态切换遵循的原则 255
 10.1.2 应用程序的状态及切换路径 256
 10.2 应用程序启动周期 257
 10.2.1 加载进入前台 257
 10.2.2 加载进入后台 258
 10.2.3 主函数 260
 10.2.4 启动处理的机制 260
 10.3 响应中断 261
 10.3.1 基于警告的中断处理机制 261
 10.3.2 中断应激处理 262
 10.3.3 通话时用户界面的调整处理 263
 10.4 前台与后台之间的切换机制 263
 10.4.1 从前台切换到后台的流程 263
 10.4.2 转换后台时应激处理 264
 10.4.3 后台运行时的内存情况 265
 10.4.4 从后台回转到前台的流程 265
 10.4.5 在唤醒时处理排队的通知 266
 10.4.6 应用程序的终止条件 266
 10.5 主运行循环 267
 10.5.1 主运行循环的运行机制 267
 10.5.2 iOS应用程序中的事件 268
 10.6 后台执行和多任务处理 268
 10.6.1 判断设备系统多任务是否可用 269
 10.6.2 在后台执行有限长度的任务 269
 10.6.3 调度本地通知的递送 270
 10.6.4 允许在后台运行的任务 271
 10.6.5 选择退出后台的执行 271
 10.7 小结 271
 第11章 视图——iOS应用程序交互的基础 272
 11.1 窗口、视图、视图控制器 272
 11.1.1 三者之间的关系 272
 11.1.2 窗口 273
 11.1.3 视图 273
 11.1.4 视图控制器 274
 11.2 视图的几何属性特征 275
 11.2.1 视图坐标系统 275
 11.2.2 边框、边界和中心的关系 275
 11.2.3 坐标系统变换 277
 11.3 视图架构处理 277
 11.3.1 视图交互模型 278
 11.3.2 视图渲染架构 279
 11.3.3 改变视图的层 280
 11.3.4 内容模式与比例缩放 280
 11.3.5 自动尺寸调整行为 281
 11.4 视图的创建和管理 283
 11.4.1 创建视图对象 284
 11.4.2 视图的标识和命名 284
 11.4.3 子视图的添加和移除 285
 11.4.4 视图层次中的坐标转换 287
 11.4.5 视图的查询 288
 11.5 在运行时修改视图 289
 11.5.1 实现视图动画 290
 11.5.2 配置动画的参数 290
 11.5.3 配置动画的委托 291
 11.5.4 响应布局的变化 291
 11.5.5 重画视图的内容 292
 11.5.6 隐藏视图 293
 11.6 定制视图对象 293
 11.6.1 初始化定制视图 293
 11.6.2 绘制视图内容 294
 11.6.3 响应事件 295
 11.6.4 视图对象的清理 295
 11.7 小结 296
 第12章 UIKit框架——创建基于触摸的用户界面 297
 12.1 UIKit标准视图的分类 297
 12.2 显示视图 298
 12.2.1 标签 298
 12.2.2 图片视图 299
 12.2.3 进度条视图 300
 12.2.4 等待视图 301
 12.3 控件 302
 12.3.1 按钮 302
 12.3.2 文本框 304
 12.3.3 滑块 305
 12.3.4 切换开关 306
 12.4 导航视图 307
 12.4.1 导航栏 307
 12.4.2 标签栏 309
 12.5 警告视图和动作表单 310
 12.5.1 警告视图 310
 12.5.2 动作表单 311
 12.6 文本和Web视图 313
 12.6.1 文本视图 313
 12.6.2 Web视图 314
 12.7 容器视图 315
 12.7.1 表视图 315
 12.7.2 滚动视图 319
 12.7.3 工具栏 321
 12.8 其他常用类型 322
 12.8.1 分页控件 322
 12.8.2 搜索栏 324
 12.9 小结 328
 第13章 视图控制器——视图的幕后操纵者 329
 13.1 视图控制器基础知识 329
 13.1.1 视图控制器的功能 329
 13.1.2 视图控制器的管理机制 330
 13.1.3 视图控制器的分类 331
 13.1.4 视图控制器的内容多种展示方式 333
 13.1.5 多种视图控制器混合应用 334
 13.2 视图控制器的生命周期 335
 13.2.1 视图控制器的初始化 336
 13.2.2 视图的加载和卸载 336
 13.3 标准视图控制器 338
 13.3.1 标准视图控制器的功能及使用方法 339
 13.3.2 标准视图控制器的应用 340
 13.4 分割视图控制器 342
 13.4.1 分割视图控制器构建原理及功能 342
 13.4.2 分割视图控制器的应用 343
 13.5 导航视图控制器 344
 13.5.1 导航视图控制器构建原理及功能 344
 13.5.2 导航视图控制器的应用 346
 13.6 选项卡视图控制器 347
 13.6.1 选项卡视图控制器构建原理及功能 347
 13.6.2 选项卡视图控制器的应用 349
 13.7 翻页视图控制器 349
 13.7.1 翻页视图控制器构建原理及功能 349
 13.7.2 翻页视图控制器的应用 351
 13.8 小结 351
 第14章 事件——应用程序的驱动动力 352
 14.1 iOS系统中的事件 352
 14.1.1 事件是如何驱动应用程序的 352
 14.1.2 什么是触摸事件 352
 14.1.3 什么是运动事件 353
 14.1.4 事件和触摸 354
 14.1.5 事件的传递 356
 14.1.6 响应者对象和响应者链 356
 14.1.7 调整事件的传递 357
 14.2 常见手势的处理实例 358
 14.2.1 触摸事件处理方法 358
 14.2.2 单个和多个触碰手势处理方法 359
 14.2.3 检测碰擦手势 360
 14.2.4 处理复杂的多点触摸序列 361
 14.2.5 触摸事件处理技巧 362
 14.3 键盘管理 363
 14.3.1 接收键盘通告 363
 14.3.2 显示键盘 365
 14.3.3 取消键盘 365
 14.3.4 移动键盘下面的内容 365
 14.4 小结 368
 第15章 通知——消息的多样化展示 369
 15.1 通知的实现原理 369
 15.1.1 本地通知 369
 15.1.2 推送通知 370
 15.1.3 通知的应用场景 371
 15.2 通知的相关事务 373
 15.2.1 自定义警告声音 373
 15.2.2 创建和调度本地通知 373
 15.2.3 接收远程通知 375
 15.2.4 如何处理通知 377
 15.3 推送通知服务 380
 15.3.1 推送通知和路径 380
 15.3.2 服务的反馈和质量 381
 15.3.3 推送通知的安全处理机制 381
 15.3.4 通知的负载处理 385
 15.4 推送通知的配置和开发 386
 15.4.1 沙箱环境和产品环境 386
 15.4.2 配置处理流程 387
 15.5 实现推送通知服务的通信功能 389
 15.5.1 普通提供的通信功能 389
 15.5.2 二进制接口和通知的格式 390
 15.5.3 服务的反馈 393
 15.6 小结 393
 第16章 Core Data框架——管理应用程序的数据模型 394
 16.1 认识Core Data 394
 16.1.1 初窥Core Data特性 394
 16.1.2 Core Data数据管理机制 395
 16.1.3 探究Core Data的本质 396
 16.2 Core Data堆栈配置 396
 16.2.1 托管对象和上下文 398
 16.2.2 读取请求 399
 16.2.3 持久化存储协调者 400
 16.2.4 持久化存储 401
 16.2.5 持久化文档 402
 16.2.6 托管对象模型 402
 16.3 Core Data模块的运作机制及基础类 402
 16.3.1 NSManagedObject-Context类 403
 16.3.2 NSManaged-Object类 404
 16.3.3 NSManagedObject-Context类 405
 16.3.4 NSPersistentStore-Coordinator类 405
 16.3.5 NSPersistent-Document类 406
 16.3.6 NSFetch-Request类 406
 16.4 Core Data堆栈访问技术 407
 16.4.1 创建一个新的托管对象上下文 407
 16.4.2 读取托管对象模型和实体 407
 16.4.3 添加持久化存储 407
 16.5 托管对象的管理 408
 16.5.1 读取托管对象 408
 16.5.2 读取特定的属性值 411
 16.5.3 创建托管对象 412
 16.5.4 保存托管对象 413
 16.5.5 删除托管对象 413
 16.6 小结 413
 第17章 音频和视频——强大的多媒体功能支持 414
 17.1 初识iOS多媒体框架 414
 17.1.1 iOS声音处理工具 414
 17.1.2 Core Audio框架 414
 17.1.3 音频硬件编解码 415
 17.1.4 iOS支持的音频回放和录制格式 415
 17.1.5 Core Audio音频会话接口 416
 17.1.6 iOS系统支持的音频单元 417
 17.2 录制音频 417
 17.2.1 使用AVAudioRecorder类进行录制 417
 17.2.2 用音频队列服务进行录制 418
 17.2.3 音频中断处理 419
 17.3 播放音频 419
 17.3.1 通过iPod媒体库访问接口播放媒体项 419
 17.3.2 使用系统声音服务播放短声音及触发振动 420
 17.3.3 通过AVAudioPlayer类轻松播放声音 421
 17.3.4 用音频队列服务播放和控制声音 423
 17.3.5 使用OpenAL播放和定位声音 426
 17.3.6 解析音频流 426
 17.4 iPhoneiPad音频的最佳实践 426
 17.4.1 操作音频的贴士 426
 17.4.2 iOS中偏好的音频格式 427
 17.5 iOS中的视频 428
 17.5.1 录制视频 428
 17.5.2 播放视频 428
 17.6 小结 429
 第18章 设备特性——支持多种功能的应用 430
 18.1 识别可用的硬件特性 430
 18.2 External Accessory框架的管道机制 430
 18.2.1 声明应用程序支持的协议 431
 18.2.2 在运行时连接配件 431
 18.2.3 处理和流相关的数据 432
 18.2.4 监控与配件有关的事件 433
 18.3 访问加速计事件 433
 18.3.1 配置加速计 434
 18.3.2 选择恰当的更新频率 435
 18.3.3 从加速计数据中分离重力成分 435
 18.3.4 从加速计数据中分离实时运动成分 435
 18.3.5 取得当前设备的方向 436
 18.4 Core Location框架提供定位服务 436
 18.4.1 获取用户的当前位置 436
 18.4.2 获取方向相关的事件 438
 18.5 Map Kit框架提供地图服务 439
 18.5.1 在用户界面中加入地图视图 440
 18.5.2 缩放和移动地图内容 440
 18.5.3 显示用户的当前位置 441
 18.5.4 坐标和像素之间的转换 441
 18.5.5 通过反向地理编码器获取地标信息 441
 18.6 地图上注解的实现 442
 18.6.1 在地图视图上显示注解 442
 18.6.2 添加和移除注解对象 443
 18.6.3 定义注解视图 443
 18.6.4 创建注解视图 443
 18.6.5 处理注解视图中的事件 444
 18.7 UIKit框架的应用 447
 18.7.1 显示照相机界面 447
 18.7.2 关闭照相机界面 448
 18.7.3 显示照片选取器界面 449
 18.8 使用邮件编辑界面 450
 18.9 小结 451
 第四部分 实战篇
 第19章 iPad应用开发实战——精灵小书柜 454
 19.1 系统的总体设计方案 454
 19.1.1 系统模块组成 454
 19.1.2 启动项目 455
 19.2 组装书柜 458
 19.2.1 书柜的实现 459
 19.2.2 书柜的框架及组装 460
 19.2.3 设置书柜的显示效果 461
 19.3 在小书柜上展示书的封面 462
 19.3.1 构建书的封面 462
 19.3.2 将书的封面展示在书柜中 463
 19.3.3 构建多面书柜 463
 19.3.4 通过手势展示多面书柜 465
 19.4 阅读书的内容 465
 19.4.1 设计内容显示的模板 465
 19.4.2 书的封面与内容关联 466
 19.4.3 动画效果翻页 469
 19.4.4 返回书柜主界面 470
 19.5 小结 471
 第20章 iPhone应用开发实战——弹球游戏 472
 20.1 认识游戏引擎 472
 20.1.1 Cocos2D游戏引擎 472
 20.1.2 Box2D物理引擎 473
 20.1.3 Chipmunk物理引擎 474
 20.1.4 游戏引擎组成结构 474
 20.1.5 物理引擎中的刚体 476
 20.2 Cocos2D框架中的常用类 476
 20.2.1 节点类CCNode 476
 20.2.2 场景类CCScene 477
 20.2.3 层类CCLayer 479
 20.2.4 标签类CCLabel 480
 20.2.5 动作类CCAction 481
 20.2.6 导演类CCDirector 482
 20.2.7 精灵类CCSprite 483
 20.3 弹球游戏的准备工作 483
 20.3.1 弹球游戏实现目标 483
 20.3.2 安装Cocos2D-iPhone 484
 20.3.3 启动项目的创建 485
 20.3.4 程序控制权的转交 486
 20.4 实现场景及其互动对象 489
 20.4.1 添加自定义的游戏场景 489
 20.4.2 创建场景类GameScene 489
 20.4.3 创建World对象和边界框 491
 20.5 制作弹球 492
 20.5.1 添加弹球精灵 492
 20.5.2 创建弹球body并添加冲力 493
 20.5.3 使用tick方法刷新对象 493
 20.6 设计球拍 494
 20.6.1 增加球拍 494
 20.6.2 移动球拍 496
 20.6.3 限制球拍 497
 20.6.4 球反弹的优化处理 498
 20.7 方块的实现 498
 20.7.1 增加方块 499
 20.7.2 销毁方块 500
 20.8 游戏逻辑处理 501
 20.8.1 碰撞检测机制 501
 20.8.2 球碰到屏幕底部 502
 20.8.3 游戏结束的条件 504
 20.8.4 添加游戏结束场景 505
 20.9 添加游戏音乐 507
 20.10 小结 507
           | 
         
       
      
      
      
         
          | 內容試閱: 
           | 
         
         
           
            第一部分
 准 备 篇
 第1章 初识iOS、Objective-C和Xcode
 第2章 创建你的第一个iOS应用程序
 第1章 初识iOS、Objective-C和Xcode
 “问渠哪得清如许,为有源头活水来。”如果要开发iPhoneiPad应用程序,就不得不探究其源头——iOS和Objective-C。本章将从整体的角度介绍iOS架构和常用框架,使你对基于iPhoneiPad的应用开发,从整体轮廓上有一个清新的认识。由于iOS架构为开发iPhone和iPad应用提供了丰富而强大的功能,因此,了解架构里不同功能的框架是十分重要的。在介绍iOS之余,初步认识一下Objective-C;最后介绍如何搭建iPhoneiPad开发环境。
 1.1 认识iOS
 iOS是由苹果公司(以下简称“苹果”)开发的手持设备操作系统。苹果公司在2007年1月9日的MacWorld大会上公布这个系统,随后于同年的6月发布了第一版iOS操作系统,当初此操作系统的名称为“iPhone
 runs OS X”。最初设计是供iPhone使用的,后来陆续套用到iPod touch、iPad以及Apple
 TV等苹果产品上。就像其基于的Mac OS
 X操作系统一样,它也是以Darwin为基础的。系统操作占用约240MB的内存空间。
 1.1.1 iOS的发展历程
 iOS经过不断发展和完善,逐步被人们熟悉和接受。最初,由于没有人了解iPhone runs OS
 X的潜在价值和发展前景,导致没有一家软件公司、没有一个软件开发者为iPhone runs OS
 X开发软件或者提供软件支持。于是,苹果公司时任CEO斯蒂夫·乔布斯说服各大软件公司以及开发者可以先搭建低成本的网络应用程序(Web
 APP),使得它们能像iPhone的本地化程序一样测试iPhone runs OS X平台。
 2007年1月,苹果发布了iPhone OS 1.0。该版本支持多点触控、虚拟键盘输入、邮件发送等功能。
 2008年7月,苹果发布了iPhone OS 2.0。版本2.0比1.0增加了很多新的功能。例如加入了App
 Store、支持手写输入、正式支持中文、支持Office文档、截图功能和计算器等。
 2009年6月,苹果发布了iPhone OS
 3.0。版本3.0比2.0增加了100多种功能,例如人们期待的剪切、复制、粘贴、蓝牙等,以及手机横向键盘、彩信、P2P连接等功能吸引了大量的用户。
 2010年6月,苹果发布其第四代iPhone操作系统。由于获得了思科iOS的名称授权,从2010年起,iPhone
 OS正式更名为iOS,该版本为iOS 4。相比以前的版本,iOS
 4有多任务处理、程序文件夹E-mail功能增强、企业级应用、游戏中心、广告嵌入和无分类邮箱等七大改进,尤其是多任务处理,弥补了苹果长期以来的痛处。
 2011年6月,苹果发布了iOS 5。相比iOS
 4,新版本增加了联系人黑名单,同时把Twitter和Siri也整合到了该系统。Siri是基于Nuance的语音识别技术,它不是苹果土生土长的服务,而是苹果2010年4月通过收购所得的。从此版本起,iOS开始了增加第三方应用。
 2012年6月,苹果公司在WWDC 2012大会上公布了全新的iOS 6操作系统。iOS
 6可算是苹果首次对深度整合的实施,Facebook、新浪微博、百度搜索、视频等第三方应用也不断整合到新的版本中。
 2013年6月10日,苹果公司在WWCD 2013大会发布了全新iOS 7操作系统。iOS
 7完全抛弃了以前的风格,重新设计了拨号、天气、日历、短信等应用的交互界面,整体透露出简洁、动感、时尚之感。图1-1为苹果公司最新发布的iOS
 7界面。
           | 
         
       
      
        
     |