主编推荐语
本书深度讲解并剖析了Core Data应用开发的全过程,全面涵盖苹果开发平台的新特性以及一些新的编程范式。
内容简介
本书通过大量实例深度剖析Core Data应用开发的全过程,不仅详细讲解了Core Data的基础知识、功能特性、新的编程范式和实用开发技巧,而且还讲解了Core Data如何与iCloud和StackMob集成,可以帮助你迅速掌握Core Data的用法并具备实战能力。
本书共分16章:
第1章讲解Core Data应用程序的基础知识并演示如何为范例程序添加Core Data支持;
第2~4章介绍托管对象模型的基础知识、迁移和扩展;
第5章探讨如何用Core Data及获取结果控制器来驱动表格视图;
第6章展示怎样在应用程序里传递托管对象;
第7章讲解如何把由Core Data所驱动的选取器视图添加到编辑视图中;
第8章解释如何用XML中的默认数据来生成持久化存储区;
第9章讲解如何利用深拷贝从选定的实体中把对象与关系由一个持久化存储区拷贝至另一个存储区中;
第10章探讨如何用Instruments来判断并解决性能问题;
第11章讲解如何由后台进程来处理任务;
第12章介绍在CoreDataTVC里如何实现高效的搜索功能;
第13章讲解如何创建备份文件,以及如何用Dropbox的Sync API来同步文件;
第14章讲解 Core Data与iCloud的集成;
第15章介绍如何进一步提升Core Data与iCloud的集成幅度;
第16章通过StackMob来介绍如何在多个用户之间进行跨平台的数据分享及协作。
目录
- 版权信息
- 译者序
- 前言
- 第1章 初次尝试Core Data应用程序
- 1.1 Core Data是什么
- 1.1.1 持久化存储协调器
- 1.1.2 托管对象模型
- 1.1.3 托管对象上下文
- 1.2 Core Data的适用场合
- 1.3 创建Grocery Dude项目
- 1.4 为现有的应用程序添加Core Data支持
- 1.4.1 Core Data Helper简介
- 1.4.2 实现CoreDataHelper类
- 1.4.3 FILES部分
- 1.4.4 PATHS
- 1.4.5 SETUP
- 1.4.6 SAVING
- 1.5 小结
- 1.6 习题
- 第2章 托管对象模型的基础知识
- 2.1 托管对象模型是什么
- 2.2 添加托管对象模型
- 2.3 实体
- 2.4 属性
- 2.5 Integer 16、Integer 32与Integer 64
- 2.6 单精度浮点数与双精度浮点数
- 2.6.1 小数
- 2.6.2 字符串
- 2.6.3 Boolean
- 2.6.4 日期类型
- 2.6.5 二进制数据类型
- 2.6.6 可变类型
- 2.7 属性的各种设置选项
- 2.8 创建NSManagedObject的子类
- 2.9 Scalar Properties for Primitive Data Types选项
- 2.10 代码片段:demo方法
- 2.11 创建托管对象
- 2.12 后端SQL的可见性
- 2.13 获取托管对象
- 2.13.1 对获取请求的结果进行排序
- 2.13.2 对获取请求的结果进行筛选
- 2.13.3 获取请求模板
- 2.14 删除托管对象
- 2.15 小结
- 2.16 习题
- 第3章 托管对象模型的迁移
- 3.1 修改托管对象模型
- 3.2 添加模型版本
- 3.3 轻量级的迁移方式
- 3.4 默认的迁移方式
- 3.5 通过迁移管理器来迁移数据
- 3.6 小结
- 3.7 习题
- 第4章 托管对象模型的扩展
- 4.1 关系
- 4.2 Delete规则
- 4.3 数据验证错误
- 4.4 实体继承
- 4.5 小结
- 4.6 习题
- 第5章 表格视图
- 5.1 表格视图基础
- 5.2 由Core Data所驱动的表格视图
- 5.3 创建CoreDataTVC
- 5.3.1 FETCHTING
- 5.3.2 DATASOURCE:UITableView
- 5.4 DELEGATE:NSFetchedResultsController
- 5.5 AppDelegate的CoreDataHelper实例
- 5.6 创建PrepareTVC
- 5.6.1 DATA
- 5.6.2 VIEW
- 5.6.3 INTERACTION
- 5.7 创建ShopTVC
- 5.7.1 DATA
- 5.7.2 VIEW
- 5.7.3 INTERACTION
- 5.8 小结
- 5.9 习题
- 第6章 视图
- 6.1 概述
- 6.2 范例程序所需的视图层级
- 6.3 创建ItemVC
- 6.3.1 保存指向受选货品的引用
- 6.3.2 把受选货品传给ItemVC
- 6.3.3 配置ScrollView及UITextField
- 6.3.4 实现ItemVC
- 6.3.5 INTERACTION
- 6.4 DELEGATE:UITextField
- 6.4.1 VIEW部分
- 6.4.2 DATA部分
- 6.5 货品的计量单位、在家中的位置以及在商店中的位置
- 6.5.1 添加与编辑计量单位
- 6.5.2 实现UnitsTVC
- 6.5.3 实现UnitVC
- 6.5.4 由UnitsTVC切换至UnitVC
- 6.5.5 添加与编辑货品在家中或商店中的位置
- 6.5.6 配置与Home Location相关的视图
- 6.5.7 配置与Shop Location相关的视图
- 6.6 小结
- 6.7 习题
- 第7章 选取器视图
- 7.1 概述
- 7.2 创建CoreDataPickerTF
- 7.3 DELEGATE+DATASOURCE:UIPickerView
- 7.3.1 INTERACTION
- 7.3.2 DATA
- 7.3.3 VIEW
- 7.4 创建UnitPickerTF
- 7.4.1 创建Unit选取器
- 7.4.2 连接Unit选取器
- 7.4.3 为Unit选取器配置ItemVC
- 7.5 创建LocationAtHomePickerTF
- 7.6 创建LocationAtShopPickerTF
- 7.6.1 创建Location Picker
- 7.6.2 连接Location选取器
- 7.6.3 为Location选取器配置ItemVC
- 7.7 使选取器不遮住文本框
- 7.8 小结
- 7.9 习题
- 第8章 预先加载数据
- 8.1 默认的数据
- 8.2 判断应用程序是否需要导入数据
- 8.3 从XML中导入数据
- 8.4 创建导入默认数据所需的上下文
- 8.5 防止重复导入默认数据
- 8.6 触发导入默认数据的操作
- 8.7 创建CoreDataImporter
- 8.8 选定各实体的Unique属性
- 8.9 把XML中的数据映射到实体的属性
- 8.10 从持久化存储区中导入数据
- 把包含默认数据的存储区用作初始存储区
- 8.11 小结
- 8.12 习题
- 第9章 深拷贝
- 9.1 概述
- 9.2 配置拷贝源数据所用的Core Data栈
- 配置存放源数据的存储区
- 9.3 增强CoreDataImporter类
- 9.3.1 objectInfo方法
- 9.3.2 arrayForEntity方法
- 9.3.3 copyUniqueObject方法
- 9.3.4 建立一对一关系
- 9.3.5 建立一对多关系
- 9.3.6 建立有序的一对多关系
- 9.3.7 拷贝关系
- 9.3.8 对实体执行深拷贝
- 9.4 触发深拷贝
- 9.5 小结
- 9.6 习题
- 第10章 性能
- 10.1 发现性能问题
- 10.2 实现拍照功能
- 10.3 生成测试数据
- 10.4 用SQLDebug测量性能
- 10.5 用Instruments测量性能
- 10.6 改善程序性能
- 10.7 清理
- 10.8 小结
- 10.9 习题
- 第11章 后台处理
- 11.1 后台保存
- 11.2 后台处理
- 11.3 建立Faulter类
- 11.4 建立Thumbnailer类
- 11.5 小结
- 11.6 习题
- 第12章 搜索
- 12.1 修改CoreDataTVC类
- 12.2 修改PrepareTVC类
- 12.3 小结
- 12.4 习题
- 第13章 与Dropbox相结合的备份与恢复
- 13.1 与Dropbox相集成
- 13.1.1 支持框架
- 13.1.2 同Dropbox相链接
- 13.1.3 创建DropboxHelper类
- 13.1.4 创建DropboxTVC类
- 13.2 在CoreDataHelper类中准备相关代码
- 13.3 构建DropboxHelper类
- 13.3.1 本地文件管理
- 13.3.2 Dropbox文件管理
- 13.3.3 备份与恢复
- 13.4 构建DropboxTVC类
- 13.4.1 创建备份文件
- 13.4.2 显示备份文件
- 13.4.3 恢复数据
- 13.5 小结
- 13.6 习题
- 第14章 iCloud
- 14.1 概述
- 14.2 启用iCloud
- 14.3 为CoreDataHelper类添加iCloud功能
- 14.3.1 iCloud Store
- 14.3.2 与iCloud有关的通知
- 14.4 Debug Navigator
- 14.5 禁用iCloud
- 14.6 小结
- 14.7 习题
- 第15章 iCloud高级使用技巧
- 15.1 去除重复数据
- 15.2 散播数据
- 15.3 打造干净的开发环境
- 15.4 Core Data程序的配置
- 15.5 收尾工作
- 15.6 小结
- 15.7 习题
- 第16章 与Web服务相集成
- 16.1 StackMob简介
- 16.2 StackMob SDK
- 16.3 创建StackMob应用程序
- 16.4 准备托管对象模型
- 16.5 配置StackMob客户端
- 16.6 SAVING
- 16.7 响应底层数据的变更
- 16.8 自动生成Schema
- 16.9 Schema的权限
- 16.10 认证
- 16.10.1 给User类增加安全措施
- 16.10.2 创建LoginVC类
- 16.11 使程序保持响应
- 16.12 小结
- 16.13 习题
- 附录A 为第1章的Grocery Dude程序所做的准备工作
- 附录B 为第16章的Grocery Cloud程序所做的准备工作
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。