标题：iPhone 4与iPad开发基础教程
基本信息
原书名： Beginning iPhone 4 Development: Exploring the iOS SDK 
原出版社： Apress  图书封面作者： (美)Dave Mark    Jack Nutting    Jeff LaMarche    
[作译者介绍] 
译者： 漆振 杨越 孙文磊 
丛书名： 图灵程序设计丛书 
出版社：人民邮电出版社 
ISBN：9787115255525
上架时间：2011-7-8
出版日期：2011 年7月
开本：16开
页码：501
版次：1-1
所属分类： 计算机 > 软件与程序设计 > 移动开发 > 其他移动开发技术
内容简介
iphone 是一个全新的移动平台，苹果公司为它推出了强大的软件开发工具包ios sdk。本书是一部关于ios sdk 开发的基础教程，内容翔实、语言生动。书中结合消费类设备上常见的实例，循序渐进地讲解了适用于iphone 4、ipad 及ipod touch 开发的基本流程，从下载安装开发工具到使用各种ios 界面元素，从不同的视图设计模式到构建表格的技巧，以及sqlite、coredata 等持久化技术，涵盖了ios 开发的方方面面。
《iphone 4与ipad开发基础教程》内容完整丰富，具有较强的通用性，编程领域中各层次读者都能通过本书快速学习ios 开发，提高相关技能。
目录
第1 章 欢迎来到iphone 世界　　 1 
1.1 关于本书　　1 
1.2 必要条件　　 1 
1.2.1 开发者的选择　　3 
1.2.2 必备知识　　4 
1.3 编写ios 应用程序有何不同　　 4 
1.3.1 只有一个应用程序正在运行　　 5 
1.3.2 只有一个窗口　　5 
1.3.3 受限访问　　5 
1.3.4 有限的响应时间　　5 
1.3.5 有限的屏幕大小　　5 
1.3.6 有限的系统资源　　　6 
1.3.7 不支持垃圾收集　　　6 
1.3.8 新功能　　 6 
1.3.9 与众不同的方法　　7 
1.4 本书内容　　7 
1.5 本次更新的内容　　8 
1.6 准备开始吧　　8 
第2 章 创建基本项目　　9 
.2.1 在xcode 中设置项目　　 9 
2.2 interface builder 简介　　14 
2.2.1 nib 文件的构成　　15 
2.2.2 在视图中添加标签　　16 
2.2.3 改变属性　　18 
2.3 美化iphone 应用程序　　19 
2.4 小结　　　22 
第3 章 处理基本交互　　23 
3.1 mvc 范型　　 23 
3.2 创建项目　　24 
3.3 创建视图控制器　　24 
3.3.1 输出口　　25 
3.3.2 操作　　26 
3.3.3 将操作和输出口添加到视图控制器　　27 
3.3.4 将操作和输出口添加到实现文件　　30 
3.4 使用应用程序委托　　34 
3.5 编辑mainwindow.xib 　　36 
3.6 编辑button_funviewcontroller.xib　　 37 
3.6.1 在interface builder 中创建视图　　37 
3.6.2 连接所有元素　　　40 
3.6.3 测试　　 43 
3.7 小结　　43 
第4 章 更丰富的用户界面　　44 
4.1 满是控件的屏幕　　　 44 
4.2 活动和被动控件　　　46 
4.3 创建应用程序　　46 
4.4 实现图像视图和文本字段　　47 
4.4.1 确定输出口　　47 
4.4.2 确定操作　　 48 
4.4.3 添加图像视图　　49 
4.4.4 添加文本字段　　52 
4.4.5 设置第二个文本字段的属性　　55 
4.4.6 连接输出口　　 55 
4.5 关闭键盘　　 55 
4.5.1 完成输入后关闭键盘　　56 
4.5.2 通过触摸背景关闭键盘　　57 
4.6 实现滑块和标签　　59 
4.6.1 确定输出口和操作　　 59 
4.6.2 添加输出口和操作　　 60 
4.6.3 添加滑块和标签　　61 
4.6.4 连接操作和输出口　　 62 
4.7 实现开关、按钮和分段控件　　 62 
4.7.1 添加输出口和操作　　 62 
4.7.2 添加开关、按钮和分段控件　　65 
4.7.3 连接开关输出口和操作　　66 
4.7.4 添加按钮　　 66 
4.8 实现操作表和警报　　67 
4.8.1 遵从操作表委托方法　　 67 
4.8.2 显示操作表　　68 
4.8.3 使用操作表委托　　70 
4.9 美化按钮　　 71 
4.9.1 viewdidload 方法　　 71 
4.9.2 控件状态　　72 
4.9.3 可拉伸图像　　 72 
4.10 成为出色的内存使用者　　73 
4.11 小结　　 74 
第5 章 自动旋转和自动调整大小　　 75 
5.1 自动旋转机制　　75 
5.2 使用自动调整属性处理旋转　　77 
5.2.1 指定旋转支持　　 77 
5.2.2 使用自动调整属性设计界面　　 79 
5.2.3 大小检查器的自动调整属性　　 80 
5.2.4 设置按钮的自动调整属性　　81 
5.3 在旋转时重构视图　　 82 
5.3.1 声明和连接输出口　　 83 
5.3.2 在旋转时移动按钮　　 84 
5.4 切换视图　　85 
5.4.1 确定输出口和操作　　 86 
5.4.2 声明操作和输出口　　 87 
5.4.3 设计两个视图　　88 
5.4.4 实现交换和操作　　 88 
5.5 小结　　91 
第6 章 多视图应用程序　　 92 
6.1 多视图应用程序的常见类型　　92 
6.2 多视图应用程序的体系结构　　94 
6.2.1 根控制器　　95 
6.2.2 内容视图剖析　　96 
6.3 构建view switcher　　96 
6.3.1 创建视图控制器和nib 文件　　 97 
6.3.2 修改应用程序委托　　 99 
6.3.3 switchviewcontroller.h 　　101 
6.3.4 添加视图控制器　　101 
6.3.5 构建包含工具栏的视图　　103 
6.3.6 编写根视图控制器　　104 
6.3.7 实现内容视图　　108 
6.3.8 制作转换动画　　110 
6.4 小结　　113 
第7 章 标签栏与选取器　　114 
7.1 pickers 应用程序　　114 
7.2 委托和数据源　　117 
7.3 建立工具栏框架　　117 
7.3.1 创建文件　　117 
7.3.2 添加根视图控制器　　118 
7.3.3 编辑mainwindow.xib 　　120 
7.3.4 连接输出口，然后运行　　123 
7.4 实现日期选取器　　124 
7.5 实现单个组件选取器　　126 
7.5.1 声明输出口和操作　　126 
7.5.2 构建视图　　127 
7.5.3 将控制器实现为数据源和委托　　127 
7.6 实现多组件选取器　　131 
7.6.1 声明输出口和操作　　131 
7.6.2 构建视图　　132 
7.6.3 实现控制器　　132 
7.7 实现独立组件　　135 
7.8 使用自定义选取器创建简单游戏　　 141 
7.8.1 编写控制器头文件　　141 
7.8.2 构建视图　　142 
7.8.3 添加图像资源　　 143 
7.8.4 实现控制器　　143 
7.8.5 最后的细节　　149 
7.8.6 链接audio toolbox 框架　　153 
7.9 小结　　　154 
第8 章 表视图简介　　155 
8.1 表视图基础　　156 
8.1.1 表视图和表视图单元　　 156 
8.1.2 分组表和无格式表　　157 
8.2 实现一个简单的表　　　　 158 
8.2.1 设计视图　　158 
8.2.2 编写控制器　　158 
8.2.3 添加一个图像　　161 
8.2.4 表视图单元样式　　 163 
8.2.5 设置缩进级别　　165 
8.2.6 处理行的选择　　165 
8.2.7 更改字体大小和行高　　 167 
8.3 定制表视图单元　　 168 
8.3.1 单元应用程序　 168 
8.3.2 使用uitableviewcell 的自定义子类　　 172 
8.4 分组分区和索引分区　　 176 
8.4.1 构建视图　　176 
8.4.2 导入数据　　177 
8.4.3 实现控制器　　177 
8.4.4 添加索引　　181 
8.5 实现搜索栏　　181 
8.5.1 重新考虑设计　　181 
8.5.2 深层可变副本　　182 
8.5.3 更新控制器头文件　　184 
8.5.4 修改视图　　185 
8.5.5 修改控制器实现　　186 
8.6 小结　　197 
第9 章 导航控制器和表视图　　198 
9.1 导航控制器　　198 
9.1.1 栈的性质　　198 
9.1.2 控制器栈　　 199 
9.2 由6 个部分组成的分层应用程序：nav 　　200 
9.2.1 子控制器　　200 
9.2.2 nav 应用程序的骨架　　203 
9.2.3 第一个子控制器：展示按钮视图　　209 
9.2.4 第二个子控制器：校验表　　 217 
9.2.5 第三个子控制器：表行上的控件　　221 
9.2.6 第四个子控制器：可移动的行　　227 
9.2.7 第五个子控制器：可删除的行　　233 
9.2.8 第六个子控制器：可编辑的详细窗格　　239 
9.2.9 其他内容　　257 
9.3 小结　　260 
第10 章 ipad 开发注意事项　　 261 
10.1 分割视图和浮动窗口　　261 
10.2 创建splitview 项目　　263 
10.3 xib 定义结构　　 264 
10.4 代码定义功能　　265 
10.5 显示总统信息　　 272 
10.6 创建浮动窗口　　276 
10.7 小结　　 282 
第11 章 应用程序设置和用户默认设置　　283 
11.1 设置束　　283 
11.2 appsettings 应用程序　　 284 
11.2.1 创建项目　　 286 
11.2.2 使用设置束　　286 
11.2.3 读取应用程序中的设置　　 297 
11.2.4 更改应用程序中的默认设置　　302 
11.2.5 实现逼真效果　　 305 
11.3 小结　　307 
第12 章 保存数据　　308 
12.1 应用程序的沙盒　　308 
12.1.1 获取documents 目录　　309 
12.1.2 获取tmp 目录　　310 
12.2 文件保存策略　　310 
12.2.1 单个文件持久性　　310 
12.2.2 多个文件持久性　　311 
12.3 属性列表　　311 
12.3.1 属性列表序列化　　311 
12.3.2 持久性应用程序的第一个版本　　312 
12.4 对模型对象进行归档　　317 
12.4.1 符合nscoding　　318 
12.4.2 实现nscopying　　 319 
12.4.3 对数据对象进行归档和取消归档　　319 
12.4.4 归档应用程序　　 320 
12.5 使用iphone 的嵌入式sqlite3　　 324 
12.5.1 创建或打开数据库　　 325 
12.5.2 绑定变量　　327 
12.5.3 sqlite3 应用程序　　 327 
12.6 使用core data　　334 
12.6.1 实体和托管对象　　 335 
12.6.2 core data 应用程序　　 339 
12.7 小结　　　 348 
第13 章 grand central dispatch、后台处理及其应用　　 349 
13.1 grand central dispatch 　　349 
13.2 slowworker 简介　　350 
13.3 线程基础知识　　　352 
13.4 工作单元　　 353 
13.5 gcd：低级队列　　354 
13.5.1 傻瓜式操作　　354 
13.5.2 改进slowworker　　 355 
13.6 后台处理　　　360 
13.6.1 应用程序生命周期　　361 
13.6.2 状态更改通知　　361 
13.6.3 创建state lab　　363 
13.6.4 执行状态　　364 
13.6.5 利用执行状态更改　　365 
13.6.6 处理不活动状态　　366 
13.6.7 处理后台状态　　370 
13.7 小结　　378 
第14 章 使用quartz 和opengl 绘图　　379 
14.1 图形世界的两个视图　　 379 
14.2 quart 绘图方法　　380 
14.2.1 quartz 2d 的图形上下文　　 380 
14.2.2 坐标系　　 381 
14.2.3 指定颜色　　　382 
14.2.4 在上下文中绘制图像　　383 
14.2.5 绘制形状：多边形、直线和曲线　　383 
14.2.6 quartz 2d 工具示例：模式、梯度、虚线模式　　384 
14.3 quartzfun 应用程序　　 384 
14.3.1 构建quartzfun 应用程序　　 384 
14.3.2 添加quartz drawing 代码　　394 
14.3.3 优化quartzfun 应用程序　　 398 
14.4 glfun 应用程序　　401 
14.4.1 构建glfun 应用程序　　402 
14.4.2 使用opengl 绘图　　404 
14.4.3 完成glfun 　　411 
14.5 小结　　411 
第15 章 轻击、触摸和手势　　 412 
15.1 多触摸术语　　 412 
15.2 响应者链　　413 
15.2.1 响应者链中的对象　　 413 
15.2.2 转发事件：保持响应者链的活动状态　　 414 
15.3 多触摸体系结构　　　 415 
15.3.1 将触摸相关代码放在何处　　415 
15.3.2 4 个手势通知方法　　415 
15.4 检测触摸　　416 
15.4.1 构建一个touch explorer 应用程序　　417 
15.4.2 运行touch explorer 　　 419 
15.5 检测轻扫　　　 419 
15.5.1 构建swipes 应用程序　　 420 
15.5.2 使用自动手势识别　　423 
15.5.3 实现多个轻扫动作　　424 
15.6 检测多次轻击　　425 
15.7 检测捏合操作　　430 
15.8 创建和使用自定义手势　　 433 
15.8.1 定义选中标记手势　　 433 
15.8.2 将勾选标记手势附加到视图　　435 
15.9 小结　　437 
第16 章 core location 定位功能　　438 
16.1 位置管理器　　438 
16.1.1 设置所需的精度　　439 
16.1.2 设置距离筛选器　　439 
16.1.3 启动位置管理器　　439 
16.1.4 更明智地使用位置管理器　　 440 
16.2 位置管理器委托　　440 
16.2.1 获取位置更新　　440 
16.2.2 使用cllocation 获取纬度和经度　　 440 
16.2.3 错误通知　　　442 
16.3 尝试使用core location 　　442 
16.3.1 更新位置管理器　　446 
16.3.2 确定移动距离　　447 
16.4 小结　　447 
第17 章 加速计　　448 
17.1 加速计物理学　　　448 
17.2 不要忘记旋转　　　449 
17.3 core motion 和动作管理器　　 449 
17.3.1 基于事件的动作　　450 
17.3.2 主动动作访问　　455 
17.3.3 加速计结果　　457 
17.4 检测摇动　　 458 
17.4.1 baked-in 摇动　　459 
17.4.2 摇动与击碎　　459 
17.5 将加速计用作方向控制器　　464 
17.5.1 滚弹珠程序　　464 
17.5.2 编写ball view　　466 
17.5.3 计算小球运动　　469 
17.6 小结　　472 
第18 章 iphone 照相机和照片库　　473 
18.1 使用图像选取器和uiimagepicker-controller 　　474 
18.2 实现图像选取器控制器委托　　 475 
18.3 实际测试照相机和库　　476 
18.3.1 设计界面　　 477 
18.3.2 实现照相机视图控制器　　 477 
18.4 小结　　481 
第19 章 应用程序本地化　　482 
19.1 本地化体系结构　　482 
19.2 字符串文件　　483 
19.2.1 字符串文件里面是什么　　 484 
19.2.2 本地化的字符串宏　　 484 
19.3 现实中的iphone：本地化应用程序　　485 
19.3.1 创建localizeme 　　485 
19.3.2 测试localizeme 　　489 
19.3.3 本地化nib 文件　　489 
19.3.4 本地化图像　　492 
19.3.5 生成和本地化字符串文件　　493 
19.3.6 本地化应用程序显示名称　　495 
19.4 小结　　496 
第20 章 未来之路　　497 
20.1 别陷进单一的思路里　　497 
20.1.1 苹果公司的文档　　 497 
20.1.2 邮件列表　　498 
20.1.3 论坛　　498 
20.1.4 网站　　499 
20.1.5 博客　　499 
20.2 参考资料　　 500 
20.3 作者　　501 
20.4 再会　　501