第1章 从编写一个真正的iOS App开始:Bands 1
1.1 Bands App介绍 2
1.2 正式开始 3
1.2.1 定义App的功能范围 4
1.2.2 功能定义 5
1.2.3 制定开发计划 6
1.3 小结 6
第2章 Objective-C介绍 9
2.1 Objective-C的历史 9
2.2 基础知识 10
2.2.1 对象和类 12
2.2.2 实例化一个对象 16
2.2.3 内存管理 21
2.2.4 自动引用计数 25
2.2.5 为类添加属性 26
2.2.6 字符串 31
2.2.7 使用基本数据结构 34
2.3 讨论高级概念 37
2.3.1 Model-View-Controller设计模式 37
2.3.2 委托和协议 39
2.3.3 使用Blocks 42
2.3.4 错误处理 43
2.4 小结 45
第3章 从一个新的App开始 49
3.1 使用Xcode创建一个新App 49
3.1.1 讨论Xcode模板 51
3.1.2 学习Bundle Identifier 52
3.1.3 Xcode项目布局介绍 52
3.1.4 UIkit框架 54
3.1.5 Main Storyboard 54
3.2 在Storyboard中添加标签 54
3.2.1 Interface Builder的使用 55
3.2.2 设置特性 56
3.2.3 查看器 56
3.2.4 UI对象的对齐 57
3.3 在模拟器中运行程序 57
3.3.1 选择一个设备 57
3.3.2 在所有类型的设备上测试 58
3.4 学习Auto Layout 59
3.4.1 自动布局基础 61
3.4.2 测试屏幕旋转 62
3.5 应用程序设置 63
3.5.1 设置版本和编译号 63
3.5.2 设置支持的旋转方向 65
3.5.3 设置App图标 65
3.5.4 设置启动界面 67
3.6 真机调试 68
3.7 小结 70
第4章 创建用户输入窗体 73
4.1 Band模型对象 73
4.1.1 创建Band模型对象 74
4.1.2 创建枚举 75
4.1.3 为Band模型对象添加属性 76
4.2 创建一个可交互的用户界面 77
4.2.1 学习IBOutlet 77
4.2.2 使用UITextField和UITextFieldDelegate 79
4.2.3 使用UITextView和UITextViewDelegate 82
4.2.4 使用UIButton和IBAction 83
4.2.5 使用UIStepper 84
4.2.6 使用UISegmentedControl 86
4.2.7 使用UISwitch 88
4.3 保存和取回数据 89
4.3.1 实现NSCoding协议 89
4.3.2 保存数据 91
4.3.3 取回数据 93
4.3.4 删除已存数据 95
4.4 小结 98
第5章 使用表视图 99
5.1 表视图 100
5.1.1 学习Tables 100
5.1.2 学习Cells 103
5.2 Bands应用程序数据源的实现 106
5.2.1 创建Band Storage 106
5.2.2 添加乐队 109
5.2.3 展示乐队信息 115
5.3 实现分类和索引 117
5.3.1 添加分类标识 117
5.3.2 显示分类索引 118
5.4 编辑表数据 119
5.4.1 开启编辑模式 119
5.4.2 删除单元格和数据 120
5.4.3 修改数据 122
5.5 小结 126
第6章 在iOS应用程序中整合照相机和照片库 129
6.1 添加一个Image View和手势识别 130
6.1.1 启用UIImageView的交互操作 130
6.1.2 学习手势识别 132
6.2 从照片库中选择一张图片 135
6.2.1 学习UIImagePicker-Controller 136
6.2.2 确定设备兼容性 136
6.2.3 允许编辑图片 137
6.2.4 保存乐队图片 139
6.2.5 删除乐队图片 142
6.3 使用摄像头拍一张照片 144
6.4 小结 147
第7章 整合社交媒体 149
7.1 发送E-mail和短消息 150
7.1.1 使用E-mail编辑器 150
7.1.2 使用消息编辑器 156
7.2 简化社交网络的整合 160
7.2.1 Activity View Controller介绍 160
7.2.2 整合Twitter 164
7.2.3 整合Facebook 165
7.2.4 Flickr整合 167
7.2.5 限制分享选项 167
7.3 小结 169
第8章 使用Web View 171
8.1 学习Web View 172
8.1.1 载入一个URL 176
8.1.2 载入一个包含特殊字符的URL 178
8.1.3 显示用户反馈 180
8.2 添加导航 183
8.2.1 创建Toolbar 183
8.2.2 打开Safari 188
8.3 小结 190
第9章 地图和本地搜索 193
9.1 学习Map View 194
9.1.1 获取用户位置 196
9.1.2 更改地图类型 199
9.2 实现本地搜索功能 201
9.2.1 动态标注 208
9.2.2 和标注进行互动 210
9.3 小结 215
第10章 开始学习Web Service 217
10.1 学习Web Service 218
10.1.1 探索iTunes SearchAPI 218
10.1.2 讨论JSON 219
10.1.3 添加搜索视图 221
10.2 NSURLSESSION介绍 225
10.2.1 创建和调度一个Data task 225
10.2.2 JSON解析 229
10.3 显示搜索结果 231
10.3.1 预览歌曲 235
10.3.2 在iTunes中展示歌曲 237
10.4 小结 239
第11章 创建一个通用的应用程序 241
11.1 转变为通用应用程序 242
11.2 学习Popovers 248
11.2.1 在Popovers中呈现Action Sheet 249
11.2.2 使用UIPopover-Controller 251
11.3 完成iPad版本的实现 257
11.4 小结 265
第12章 部署iOS应用程序 267
12.1 部署应用程序给测试者 268
12.1.1 注册Beta设备 269
12.1.2 生成数字证书 271
12.1.3 创建一个AppID和Ad HocProvisioning Profile 273
12.1.4 签名并部署Ad HocBuild 276
12.2 提交应用程序到苹果公司 280
12.2.1 使用iTunes Connect 280
12.2.2 创建一个App Store Provisioning Profile 283
12.2.3 验证及提交一个应用程序 283
12.3 小结 285
附录 练习答案 287