《iOS数据库应用高级编程 第2版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)艾烈希著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302369561
  • 页数:340 页
图书介绍:本书首先讲解了如何从大型数据库提取数据、放置到设备上并显示;然后解释了如何直接在设备上输入数据、提供数据以及与Web服务通信;最后通过一个案例演示了为iPhone和iPad创建数据驱动型应用的过程,以及如何将iOS应用集成到已有的企业系统中。

第Ⅰ部分操作和显示iPhone和iPad上的数据 3

第1章 数据驱动应用程序介绍 3

1.1 创建一个简单的数据驱动应用程序 4

1.1.1 创建项目 4

1.1.2 添加UITableView 6

1.1.3 获取数据 9

1.1.4 实现数据模型类 9

1.1.5 显示数据 12

1.2 深入研究 17

1.2.1 设计模式 17

1.2.2 读取文本文件 18

1.3 前往下一章 18

第2章 iOS数据库:SQLite 19

2.1 什么是SQLite 20

2.1.1 SQLite库 20

2.1.2 SQLite和Core Data 20

2.2 创建一个简单的数据库 21

2.2.1 设计数据库 22

2.2.2 创建数据库 24

2.2.3 填充数据库 26

2.2.4 可视化SQLite数据库的工具 30

2.3 连接到数据库 32

2.3.1 启动项目 33

2.3.2 模型类 35

2.3.3 DBAccess类 37

2.3.4 参数化查询 45

2.3.5 写入数据库 46

2.3.6 显示目录 47

2.3.7 查看产品详情 49

2.4 前往下一章 53

第3章 使用UITableView显示数据 55

3.1 定制表视图 55

3.1.1 表视图单元格样式 56

3.1.2 将子视图添加到contentView 59

3.1.3 子类化UITableViewCell 63

3.2 实现区段和索引 69

3.3 实现搜索 76

3.4 优化表视图性能 81

3.4.1 重新使用现有的单元格 82

3.4.2 不透明的子视图 83

3.4.3 使用drawRect自定义绘制单元格 84

3.4.4 配件视图的用户界面约定 84

3.5 前往下一章 85

第4章 用户界面元素 87

4.1 使用故事板创建界面 87

4.1.1 开始创建故事板示例应用程序 89

4.1.2 向故事板中添加Sub-detail屏幕 90

4.1.3 向故事板中添加模态屏幕 90

4.2 使用分隔视图控制器显示主/从数据 91

4.2.1 UISplitViewController简介 92

4.2.2 UISplitViewControllerDelegate协议 93

4.2.3 开始实现分隔视图示例应用程序 94

4.2.4 创建Detail界面 96

4.2.5 使用主/从视图添加调查 97

4.3 在弹出窗口中显示数据 103

4.3.1 创建InfoViewController 104

4.3.2 显示UIPopoverController 105

4.4 手势识别 106

4.4.1 UIGestureRecognizer类 106

4.4.2 使用手势识别器 107

4.5 文件共享支持 111

4.5.1 在示例应用程序中启用文件共享 111

4.5.2 序列化调查数据数组 112

4.5.3 反序列化并加载调查数据数组 113

4.5.4 共享数据 114

4.6 前往下一章 116

第Ⅱ部分使用Core Data管理数据 119

第5章 Core Data介绍 119

5.1 Core Data基础 120

5.2 Core Data架构 120

5.2.1 Core Data栈 120

5.2.2 SQLite和Core Data 122

5.3 Core Data和iCloud 123

5.4 数据保护 123

5.5 一个简单的使用Core Data实现的任务管理器 124

5.5.1 创建项目 125

5.5.2 检查模板代码 125

5.5.3 修改模板代码 137

5.6 前往下一章 142

第6章 在Xcode中对数据建模 143

6.1 模型化数据 143

6.1.1 定义实体和它们的特性 145

6.1.2 添加实体间的关系 149

6.1.3 创建获取属性和获取请求模板 151

6.2 创建定制NSManagedObject子类 154

6.2.1 实现验证规则 156

6.2.2 实现默认值 157

6.3 创建任务模型 157

6.4 前往下一章 159

第7章 创建Core Data应用程序 161

7.1 任务应用程序架构 161

7.1.1 数据模型 162

7.1.2 类模型 162

7.1.3 用户界面 163

7.2 编写应用程序代码 164

7.3 MasterViewController和基本用户界面 164

7.4 产生托管对象子类 168

7.5 添加和查看任务 169

7.5.1 创建ViewTaskController 169

7.5.2 修改MasterViewController 173

7.6 创建编辑控制器 176

7.6.1 使用EditTextViewController编辑文本 176

7.6.2 使用EditPriorityViewController设置优先级 181

7.6.3 使用EditLocationViewController添加和编辑位置 185

7.6.4 使用EditDateController修改日期 191

7.6.5 完成编辑控制器 196

7.7 在MasterViewController中显示结果 198

7.7.1 使用NSSortDescriptor排序结果 199

7.7.2 使用NSPredicate过滤结果 200

7.8 使用NSFetchedResultsController创建分组表 201

7.9 实现定制托管对象 206

7.9.1 编写动态属性代码 206

7.9.2 运行时默认值 207

7.9.3 验证单个字段 208

7.9.4 多字段验证 209

7.10 前往下一章 211

第8章 和Core Data相关的Cocoa特性 213

8.1 键-值编码 213

8.1.1 键和键路径 214

8.1.2 使用键设置值 216

8.1.3 集合操作符 216

8.1.4 使用KVC时额外要考虑的事 217

8.2 键-值观察 218

8.2.1 观察对象的改变 218

8.2.2 自动和手动实现KVO 219

8.2.3 键-值观察示例 219

8.3 使用NSPredicate 225

8.3.1 创建谓词 225

8.3.2 使用谓词 228

8.4 排序描述符 228

8.5 前往下一章 229

第9章 Core Data迁移和性能 231

9.1 模型版本控制和架构迁移 231

9.1.1 模型版本控制 233

9.1.2 轻量迁移 235

9.1.3 生成映射模型 237

9.2 线程安全与Core Data 241

9.2.1 线程设计 241

9.2.2 线程和Core Data 242

9.2.3 线程和NSOperation 242

9.2.4 Core Data线程处理示例 243

9.3 Core Data性能 251

9.3.1 故障 251

9.3.2 数据存储类型 252

9.3.3 存储二进制数据 252

9.3.4 实体继承 253

9.3.5 运行时性能 254

9.3.6 使用获取结果控制器管理变化 254

9.4 使用Instruments进行性能分析 257

9.4.1 启动Instruments 258

9.4.2 Instruments界面 258

9.4.3 Core Data仪表 259

9.5 前往下一章 260

第Ⅲ部分 使用Web服务集成应用程序 263

第10章 在iPhone上使用XML 263

10.1 iOS SDK和Web 263

10.1.1 Web应用程序架构 264

10.1.2 同步数据获取 264

10.1.3 URL加载系统 265

10.1.4 Web访问示例 266

10.1.5 从服务器请求数据 268

10.2 XML和iPhone SDK 275

10.2.1 XML简要概述 275

10.2.2 使用NSXML解析器解析XML 276

10.2.3 扩展示例,解析XML 277

10.2.4 使用libxml生成XML 283

10.2.5 XML生成示例 284

10.3 前往下一章 290

第11章 使用Web服务进行集成 291

11.1 网络应用程序架构 291

11.1.1 两层架构 292

11.1.2 三层架构(n层) 293

11.1.3 应用程序通信 294

11.2 Web服务介绍 294

11.2.1 SOAP消息 295

11.2.2 REST协议 297

11.3 示例1:基于位置的搜索 297

11.3.1 开始 298

11.3.2 创建界面 299

11.3.3 Core Location 299

11.3.4 本地搜索API 302

11.3.5 使用搜索栏 304

11.3.6 处理Web服务响应 307

11.4 示例2:内容分析 318

11.4.1 开始 319

11.4.2 创建用户界面 320

11.4.3 实现POST调用 321

11.4.4 接收XML响应 324

11.4.5 解析响应XML 325

11.4.6 完成 327

11.5 前往下一章 327

附录A应用程序故障诊断工具 329

A.1 Instruments 329

A.1.1 启动Instruments 330

A.1.2 跟踪文档 331

A.1.3 Objective-C内存管理 332

A.1.4 内存泄漏示例应用程序 334

A.1.5 在Instruments中分析内存泄漏 335

A.2 静态分析器 338