2015年11月4日

SQLite存储区的日志模式

摘要: 目录内包含了三个文件xxx.sqlite、xxx.sqlite-shm、xxx.sqlite-wal默认的日志模式为Write-Ahead Logging(WAL): 支持多个并发读取和一个并发写入。该模式下,提交事务时,保持xxx.sqlite文件不变,而将事务追加到同一目录下的xxx.sql... 阅读全文

posted @ 2015-11-04 19:41 大木哥 阅读(1534) 评论(0) 推荐(0) 编辑

3.3. 轻量级的迁移方式(Core Data 应用程序实践指南)

摘要: 持久化存储协调器会试着用新版的模板打开原来的持久化存储区,但是那是旧的模板,旧的格式,当然会出错。现在要做的就是迁移现有的持久化数据区,以便跟新模型匹配。 怎么进行迁移呢? 在什么时候进行迁移? 在向NSPersistentStoreCoordinator添加存储区的时候。 那么如何添加... 阅读全文

posted @ 2015-11-04 18:41 大木哥 阅读(287) 评论(0) 推荐(0) 编辑

3.2. 添加模板版本(Core Data 应用程序实践指南)

摘要: 为了不像3.1那样崩溃,修改模型之前先创建新的模型版本。添加之后,会生成一个新的xcdatamodel文件,并且跟原来的内容完全一样,这有意思了,但是不要删除原来旧版的模型。旧的模型有助于把原来持久化存储区迁移到当前的模型版本。 修改程序:选中Model.xcdatamodeld点击Edito... 阅读全文

posted @ 2015-11-04 18:13 大木哥 阅读(198) 评论(0) 推荐(0) 编辑

3.1. 修改托管对象模型(Core Data 应用程序实践指南)

摘要: 托管对象模型是会变好的,有时候变化的比较小,什么添加验证规则、修改默认值、修改获取请求模板等。但是设置到结构变化,如添加、删除字段时,需要先把持久化数据区迁移到新的模型版本才行。假如没有提供迁移数据所需的映射与设定,那么应用程序就会崩溃。 程序修改,以引发模型不兼容错误运行程序,确保创建了持久... 阅读全文

posted @ 2015-11-04 17:39 大木哥 阅读(175) 评论(0) 推荐(0) 编辑

3. 托管对象模型的迁移(Core Data 应用程序实践指南)

摘要: 本章介绍如何添加模型版本及模型映射,演示几种迁移技术,供在升级模型时使用。3.1. 修改托管对象模型3.2. 添加模型版本3.3. 轻量级迁移方式3.4. 默认的迁移方式3.5. 通过迁移管理器来迁移数据 阅读全文

posted @ 2015-11-04 16:56 大木哥 阅读(144) 评论(0) 推荐(0) 编辑

2.13.3:获取请求模板(Core Data 应用程序实践指南)

摘要: 可以不用手动写谓词,用Xcode的Data Model Designer。只是要用到AND 、OR等逻辑组合时,还得用代码写谓词。 程序示例操作如下:选中Model.xcdatamodeld点击Editor > Add Fetch Request设置模板名字点击"+"号来配置 NSSor... 阅读全文

posted @ 2015-11-04 06:59 大木哥 阅读(181) 评论(0) 推荐(0) 编辑

2.13.2. 对结果集进行筛选(Core Data 应用程序实践指南)

摘要: Core Data通过谓词(NSPredicate)来筛选,比如限定获取的数量等。谓词基本对存储区不敏感,但也有例外,比如:matches可用在 in-memory存储区,但是不能用在SQLite存储区。谓词是SQL里面的where子句。 在筛选的过程中,每个托管对象都会根据谓词求值,根据返回... 阅读全文

posted @ 2015-11-04 06:58 大木哥 阅读(326) 评论(0) 推荐(0) 编辑

2.13.1. 对结果排序(Core Data 应用程序实践指南)

摘要: 传递NSSortDescriptor给NSFetchRequest进行排序。示例如下,修改demo方法:NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES]; NSFe... 阅读全文

posted @ 2015-11-04 06:56 大木哥 阅读(365) 评论(0) 推荐(0) 编辑

导航