iOS中CoreData数据管理系列一——初识CoreData 一、何为CoreData CoreData是一个专门用来管理数据的框架,其在性能与书写方便上都有很大的优势,在数据库管理方面,apple...强烈推荐开发者使用CoreData框架,在apple的官方文档中称,使用CoreData框架可以减少开发者50%——70%的代码量,这虽然有些夸张,但由此可见,CoreData的确十分强大。...my.oschina.net/u/2340880/blog/600820 iOS中sqlite3框架的使用和封装:http://my.oschina.net/u/2340880/blog/601802 CoreData
1.没有线程安全的coredata数据读取: NSManagedObjectContext对象的创建: _managedObjectContext = [[NSManagedObjectContext...alloc] init]; 2.线程安全的coreData操作: 1,创建并行的NSManagedObjectContext对象: [[NSManagedObjectContext alloc]
之后才出现的一个框架,本质上是对SQLite的一个封装,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象,通过CoreData...更新于2018.3.7 iOS CoreData (二) 版本升级和数据库迁移 ? 增删改查.gif 1、首先创建一个coreData 模型文件:系统创建或者自己创建 ?...self alertViewWithMessage:@"按照age和number排序"]; }else{ NSLog(@"排序失败, %@", error); } } CoreData...选择Arguments,在下面的ArgumentsPassed On Launch中添加下面两个选项,如图: (1)-com.apple.CoreData.SQLDebug (2)1 ?...CoreData调试.png 参考文献: http://www.jianshu.com/p/880dd63c5f5e http://www.jianshu.com/p/79ba72810d29 http
概括: 我们先说说这两个东西,CoreData 和 FMDB,其实就我自己而言觉得这两个都不错,刚开始是接触FMDB的,CoreData是工作后自己看的。...苹果推荐开发者去使用CoreData,但 FMDB 在 git 上的那上万颗星星也说明了开发者对它的喜爱。...但用 CoreData 就比较的容易。 再说说今天我们想说的,也是我看其他人的博客学到的,给大家分享出来。关联数据库和视图,简单的想一下这么一个场景。...在CoreData中 有一个控制器 NSFetchedResultsController专门为了关联数据库和视图而生的,这个Demo是写好了的,需要的留言告诉我我发给你。...CoreData的使用: image.png 注意点和总结的地方: 先把里面会用到的类描述一下,知道它们是用来做什么,对应的都是那些东西。
使用此功能,要添加CoreData.framework和导入主头文件 。...【六】CoreData第三方库:MagicalRecord 地址:MagicalRecord CoreData是苹果自家推出的一个持久化框架,使用起来更加面向对象。...国外开发者开源了一个基于CoreData封装的第三方——MagicalRecord,就像是FMDB封装SQLite一样, MagicalRecord封装的CoreData,使得原生的CoreData更加容易使用...另外还有其他的第三方存储库: 可以存对象的数据库realm-cocoa使用时参考这篇文章:移动端数据库新王者:realm ---- 参考文章: iOS 开发之 CoreData CoreData的使用...iOS CoreData数据库之创建详解 「死磕」Core Data——入门 认识CoreData - 初识CoreData
1 CoreData运行机制 1.1 CoreData总体架构 1.1.1 CoreData架构图 CoreData架构图: 1.1.2 主要术语 1,Managed Object Model ...NSString * constNSManagedObjectContextWillSaveNotification NS_AVAILABLE(10_5, 3_0); COREDATA_EXTERN...; COREDATA_EXTERN NSString * constNSRefreshedObjectsKey NS_AVAILABLE(10_5, 3_0); COREDATA_EXTERN NSString...-8093461.html iOS CoreData应用升级需要注意的地方 http://www.oschina.net/question/565065_64657 iOS App升级安装- CoreData...iOS开发过程中使用CoreData应避免的十个错误 http://blog.jobbole.com/60025/ crash on coredata ios8 http://stackoverflow.com
iOS中CoreData数据管理系列二——CoreData框架中三个重要的类 一、引言 在上一篇博客中,介绍了iOS中使用CoreData框架设计数据模型的相关步骤。...CoreData框架中通过相关的类将数据——数据模型——开发者无缝的衔接起来。
之后才出现的一个框架,本质上是对SQLite的一个封装,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象,通过CoreData...更新于2018.3.7 iOS CoreData (二) 版本升级和数据库迁移 [增删改查.gif] 1、首先创建一个coreData 模型文件:系统创建或者自己创建 [系统创建模型文件.png]...self alertViewWithMessage:@"按照age和number排序"]; }else{ NSLog(@"排序失败, %@", error); } } CoreData...选择Arguments,在下面的ArgumentsPassed On Launch中添加下面两个选项,如图: (1)-com.apple.CoreData.SQLDebug (2)1 [CoreData...调试.png] 示例Github:CoreDataLearn 更新于2018.3.7 iOS CoreData (二) 版本升级和数据库迁移
在接触到CoreData时,感觉就是苹果封装的一个ORM。...(上面是笔者自己为了更好的理解CoreData而做的简单类比,如果学过PHP的ThinkPHP框架的小伙伴们也可以和TP中的ORM类比)。 那么TableView为什么会爱上CoreData呢?...TableView之所以会爱上CoreData,是因为我们的CoreData会简化我们对数据的操作,并且会持久化到sqlite中。...CoreData相当于TableView和sqllite的纽带,说的专业一些就是映射,那么我们CoreData如何使用才会简化我们的操作呢?...来修改或着添加数据时,TableView上的内容是不跟着CoreData的变化而变化的,接下来要做的就是要绑定TableView和CoreData的关系。
所以,CoreData Stack是为了解决这个问题诞生的嘛?很遗憾,并不是。看了前面的两篇文章之后,有木有觉得CoreData不怎么好用,还挺麻烦的呐?...这时候要祭出CoreData Stack的啦。 1....CoreData Stack的作用 其实这个东西在一篇的时候提到过,不信您看:Swift实践:使用CoreData完成一个通讯录存储 一个基本的 Core Data 栈由四个主要部分组成:托管对象 (NSManagedObject...CoreDataStack,是自定义的一个CoreData 的栈对象,可以通过它,初始化项目的CoreData,以及获取到Context,对数据库进行增删改查等操作。...这个玩意儿作用就是用来管理CoreData Stack,为了能够让大家用起来更爽、更简单。
前言:最近ChinaDaily项目需要迭代一个新版本,在这个版本中CoreData数据库模型上有新增表、实体字段的增加,那么在用户覆盖安装程序时就必须要进行CoreData数据库的版本升级和旧数据迁移,...接下来在我之前写的 iOS CoreData (一) 增删改查 示例基础上进行演示:1、新建一个版本的数据库模型Model2: 选中Model.xcdatamodeld文件,选择菜单editor->Add...5、编译结束,CoreData调试: 打开Product,选择Edit Scheme....选择Arguments,在下面的ArgumentsPassed On Launch中添加下面两个选项,如图: (1)-com.apple.CoreData.SQLDebug (2)1 [CoreData...调试.png] 之前相关文章:iOS CoreData (一) 增删改查 [赞赞.gif]
如果一个CoreData模型中的属性或关系名与要导入的数据中的某个键匹配,那你不需要做任何事 - 键对应的值会自动导入....往往,要导入的数据中的键和结构和你的实体属性与关系不匹配.在这种情况下,你需要告诉 MagicalRecord 如何映射你要导入的数据的键到你的CoreData模型中匹配的属性或关系.
前言:最近ChinaDaily项目需要迭代一个新版本,在这个版本中CoreData数据库模型上有新增表、实体字段的增加,那么在用户覆盖安装程序时就必须要进行CoreData数据库的版本升级和旧数据迁移...接下来在我之前写的 iOS CoreData (一) 增删改查 示例基础上进行演示: 1、新建一个版本的数据库模型Model2: 选中Model.xcdatamodeld文件,选择菜单editor->...5、编译结束,CoreData调试: 打开Product,选择Edit Scheme....选择Arguments,在下面的ArgumentsPassed On Launch中添加下面两个选项,如图: (1)-com.apple.CoreData.SQLDebug (2)1 ?...CoreData调试.png 之前相关文章:iOS CoreData (一) 增删改查
NSPersistentStoreCoordinator 时没有使用包含 Item 的数据模型,或根本没有创建 NSPersistentStoreCoordinator,调用 Item.entity() 后,Core Data 会抛出如下错误: CoreData
翻了翻自己的小本本,想起来咱们这还拉了一个CoreData没有搞完,所以就又回来接着搞搞。 ?...这次我们要往这个通讯录里面加入更多的元素,目的也是为了学习CoreData如何存储更多的数据类型。 完成后的效果: ? contact.gif 1. CoreData支持存储数据类型 ?...使用CoreData存储多种数据类的通讯录 我们在这里计划存储的类型有Data、Bool、String、Date、Int64。 ?...image.png 2.1 CoreData的基本读取操作 2. 1.1 获取CoreData已经保存数据的五个步骤 获取总代理和托管对象总管 从Entity获取一个fetchRequest 根据fetchRequest...下一篇我们就不能再用Xcode创建自带的CoreData来搞事情了,我们要自己搞一个CoreData Stack来实现管理。
CoreData作为Apple的亲儿子,依然在App需要存储结构化数据上发挥着重要的作用。CoreData已经超过十年了,而且亲爹还在积极的维护着它。...image.png 在Monster、Indeed这些海外主流招聘网站看一下iOS的职位,基本上都会大大写着要求会熟练使用CoreData。...再一细问,很多人也都是只使用到了FMDB,对于CoreData却是了解甚少。 后来想了想,可能是因为CoreData的入门成本有点高,而且相关的中文资料比较少的缘故吧。...CoreData的基本读取操作 2. 1 获取CoreData已经保存数据的五个步骤 获取总代理和托管对象总管 从Entity获取一个fetchRequest 根据fetchRequest,从managedContext...3.1 Xcode创建默认带数据库的工程 image.png 在 Xcode 创建工程时,提供了创建 CoreData 的模板,只需要我们在创建时,勾选 CoreData 选项,Xcode 就会自动创建出数据模型文件
iOS中CoreData数据管理系列三——添加与查询数据 一、引言 在前两篇博客中,分别介绍了iOS中CoreData框架创建数据模型和CoreData框架中的三个核心类。...博客地址如下: iOS中CoreData框架简介:http://my.oschina.net/u/2340880/blog/610488。...CoreData框架中三个核心的类:http://my.oschina.net/u/2340880/blog/610948。 本篇博客将综合使用三个核心的类,进行数据创建和查询的操作介绍。...四、查询数据 CoreData中通过查询请求来对数据进行查询操作,查询请求由NSFetchRequest来进行管理和维护。
一、CoreData结构 可以用两张图来表示: NSManagedObject 数据库对象,一个NSManagedObject对应一张表,NSManagedObject的一个属性对应数据表的一个字段...NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; return __managedObjectModel; } 二、多线程里的CoreData...交互之家再插了一层子线程的privatecontext,context之间的传递是很快的,这样可以有效地避免IO阻塞主线程,而且childContext调用save方法,其parentContext不用任何merge操作,CoreData
0 print(count) /* CoreData: sql: SELECT COUNT(*) FROM ZITEM CoreData: annotation: total count request...0 print(count) /* CoreData: sql: SELECT COUNT(*) FROM ZITEM CoreData: annotation: total count request...CoreData: annotation: sql connection fetch time: 0.0001s CoreData: annotation: total fetch execution...CoreData: annotation: sql connection fetch time: 0.0001s CoreData: annotation: total fetch execution...CoreData: annotation: to-many relationship fault "tags" for objectID 0xa7ab2d44ebb9106e <x-coredata:/
iOS中CoreData数据管理系列四——进行数据与页面的绑定 一、引言 在上一篇博客中,我们讨论了CoreData框架中添加与查询数据的操作,事实上,在大多数情况下,这些数据都是由一个UITableView...表视图进行展示的,因此,CoreData框架中还未开发者提供了一个类NSFetchedResultsController,这个类作为桥接,将视图与数据进行绑定。
领取专属 10元无门槛券
手把手带您无忧上云