新書推薦:
《
为你想要的生活
》
售價:NT$
301.0
《
关键改变:如何实现自我蜕变
》
售價:NT$
352.0
《
超加工人群:为什么有些食物让人一吃就停不下来
》
售價:NT$
454.0
《
历史的教训(浓缩《文明的故事》精华,总结历史教训的独特见解)
》
售價:NT$
286.0
《
不在场证明谜案(超绝CP陷入冤案!日本文坛超新星推理作家——辻堂梦代表作首次引进!)
》
售價:NT$
265.0
《
明式家具三十年经眼录
》
售價:NT$
2387.0
《
敦煌写本文献学(增订本)
》
售價:NT$
1010.0
《
耕读史
》
售價:NT$
500.0
內容簡介:
如果你是一名有经验的开发者并对开发以数据为中心的iPhone和iPad应用程序感兴趣,那么《iOS数据库应用高级编程第2版》恰好适合你。这本必须拥有的书进行了新的充分修订,并且在结构上对应企业应用程序的数据流。该书作者Patrick Alessi经验丰富,他先向你演示了如何从大规模数据库获取数据并将数据放入设备上和显示该数据。然后讲解了如何直接在设备上建立数据,并和Web服务通信。在本书的最后,你将能自信地为iPhone和iPad实现数据驱动应用程序并将iOS应用程序和现有的企业系统集成。
關於作者:
Patrick Alessi为包括小型企业和美国空军在内的客户建立以数据为中心的应用程序。他建立了MotivationalQuotes和CNodes应用。他是Professional
iPhone and iPad Database Application Programming 和《iOS游戏开发入门经典》的作者。当前,他努力专注于为移动设备建立移动和互联应用程序。
目錄 :
目 录
第Ⅰ部分 操作和显示iPhone 和iPad 上的数据
第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 管理数据
第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 服务集成应用程序
第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