iOS coreData】的更多相关文章

一.CoreData学习指引 1. 苹果官方:Core Data Programming Guide 什么是CoreData? 创建托管对象模型 初始化Core Data堆栈 提取对象 创建和修改自定义托管对象 2.Core Data在 macOS 10.12 , iOS 10.0, tvOS 10.0和watchOS 3.0中的新特性 国内比较好的CoreData学习资源: 以下资源来自:blog.csdn.net/hello_hwc 汇总目录: http://blog.csdn.net/co…
在IOS CoreData中,多表查询上相对来说,没有SQL直观,但CoreData的功能还是可以完成相关操作的. 下面使用CoreData进行关系数据库的表与表之间的关系演示.生成CoreData和如何设置关系就不再详谈了,见之前的文章. 建立好的关系图: 一步步建立上面关系图: 员工表: 部门表: 职位表: 工资等级表: 开户银行表: 建立表之后,我们还需要建立表之间的关系 部门和员工之间的关系:1 ->  N 部门和职位的关系:1  ->  N 职位与员工的关系:1 ->  N 开…
代码地址如下:http://www.demodashi.com/demo/11041.html Core Data是iOS5之后才出现的一个框架,本质上是对SQLite的一个封装,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象,通过CoreData管理应用程序的数据模型,可以极大程度减少需要编写的代码数量! 一.运行效果 二.程序实现 1. 首先创建一个coreData 模型文件:系统创建或者自己创建…
前言:最近ChinaDaily项目需要迭代一个新版本,在这个版本中CoreData数据库模型上有新增表.实体字段的增加,那么在用户覆盖安装程序时就必须要进行CoreData数据库的版本升级和旧数据迁移,如果仅仅是在旧版本的数据模型上进行上述操作,就会造成所有旧用户更新完成后的第一次启动崩溃. 数据迁移的方式有好几种,这里就先介绍我用的轻量级的数据迁移方式:Core Data轻量级迁移是适用于添加新表,添加新的实体,添加新的实体属性,等简单的,系统能自己推断出来的迁移方式.接下来在我之前写的 iO…
http://blog.csdn.net/fengsh998/article/details/8123392 在iOS CoreData中,多表查询上相对来说,没有SQL直观,但COREDATA的功能还是可以完成相关操作的. 多表查询,表与表之间肯定存在某种关系,如果对于类似外连接,左连接等操作,在COREDATA中就显得无力(请高手指教了). 在上节中,介绍了一下数据库的关系查询操作. 下面使用CoreData进行关系数据库的表与表之间的关系演示. 生成COREDATA和如何设置关系就不再详谈…
iOS CoreData介绍和使用(以及一些注意事项) 最近花了一点时间整理了一下CoreData,对于经常使用SQLite的我来说,用这个真的有点用不惯,个人觉得实在是没发现什么亮点,不喜勿喷啊.不过这门技术的出现也有其存在价值,这是不可否认的事实,即使是不喜欢我们也得去了解一下,因为你不用别人会用,这年头都多人开发,多学点还是有好处的.废话不多说了,该开始正经事了. CoreData介绍 CoreData是一个模型层的技术,也是一种持久化技术(数据库),它能将模型对象的状态持久化到磁盘里,我…
iOS CoreData介绍和使用(以及一些注意事项) 最近花了一点时间整理了一下CoreData,对于经常使用SQLite的我来说,用这个真的有点用不惯,个人觉得实在是没发现什么亮点,不喜勿喷啊.不过这门技术的出现也有其存在价值,这是不可否认的事实,即使是不喜欢我们也得去了解一下,因为你不用别人会用,这年头都多人开发,多学点还是有好处的.废话不多说了,该开始正经事了. CoreData介绍 CoreData是一个模型层的技术,也是一种持久化技术(数据库),它能将模型对象的状态持久化到磁盘里,我…
1.CoreData 数据库 CoreData 是 iOS SDK 里的一个很强大的框架,允许程序员以面向对象的方式储存和管理数据.使用 CoreData 框架,程序员可以很轻松有效地通过面向对象的接口管理数据.CoreData 框架提供了 对象 - 关系映射 (ORM) 的功能,即能够将 OC 对象转化成数据,保存在 SQLite3 数据库文件中,也能够将保存在数据库中的数据还原成 OC 对象,在数据操作过程中,无需编写任何 SQL 语句. 模型文件及实体(Entity).要使用 CodeDa…
iOS常见错误-CoreData: Cannot load NSManagedObjectModel.nil is an illegal URL parameter
这是因为在工程中CoreData的命名和AppDelegate中使用的命名不同造成的,可能是自己修改了CoreData文件但是忘记修改AppDelegate中相应的字符串.将图片中的字符串改成和CoreData文件名一样就可以了.…
首先说明 ios 中 NSManagedObjectContext 默认的 undoManager是nil的,就是说 undo 和 redo 都是没用的. 但是 rollback函数和reset函数是不设置undoManager对象也能使用的! 看下rollback的说明 Removes everything from the undo stack, discards all insertions and deletions, and restores updated objects to th…
这里是另一篇好文章 http://blog.csdn.net/kesalin/article/details/6739319 这里是另一篇 http://hxsdit.com/1622 (不一定能访问) 推荐书籍:Core_Data_by_Tutorials 还有就是apple的官方文档了Core Data Programming Guide 另外可以查看coredata 如何和icould一起使用,这部分内容要看有关icloud的官方文档. 还需要注意Core Data的多线程 和 数据库结构…
ios中的coredata的使用(转) 分类: ios2013-07-15 18:12 27288人阅读 评论(1) 收藏 举报 Core Data数据持久化是对SQLite的一个升级,它是ios集成的,在说Core Data之前,我们先说说在CoreData中使用的几个类. (1)NSManagedObjectModel(被管理的对象模型) 相当于实体,不过它包含 了实体间的关系 (2)NSManagedObjectContext(被管理的对象上下文) 操作实际内容 作用:插入数据  查询  …
iPhone OS在2009年6月份推出3.0版本SDK,其中一个特性是引入了Mac SDK中的core data.是一种ORM(Object Relationships Mapping)解决方案,类似java的Hibernate. 有了这个,就不必像ios简单sqlite使用那样编写繁琐代码了,减少工作量,也可以回避使用c的语法,降低ios开发的技术门槛.总之,可降低开发成本,提高项目质量. 本文在很大程度上参考了<Core Data Tutorial for iOS>. 创建ios项目 为…
(1).CoreDataa>什么是CoreDatab>CoreData增删改查 "什么时候使用COredata 什么时候使用FMDatabases"CoreData 在公司使用的比较少,用户的比较多的是FMDatabases 数据存储的结构比较简单的时候,使用CoreData 开发效率会高点,为什么?面向对象,而且不用写sql语句FMDatabases 数据结果比较复杂的时候,表与表之前的关联比较的时候 CoreData表与表之前的关联 查询分页查询模糊查询 一个数据库有一…
关于 CoreData的 objectID 官方文档有这样的表述:新建的Object还没保存到持久化存储上,那么它的objectID是临时id,而保存之后,就是持久化的id,不会再变化了. 那么,我想做的实验是,新建一个对象,再保存,再查看这个对象的objectID,看看系统会不会自动把这个新对象的 临时id 更改为 持久化的id. var person = NSEntityDescription.insertNewObjectForEntityForName("Person", in…
Given an entity with an attribute firstName, Core Data automatically generates firstName, setFirstName:, primitiveFirstName, and setPrimitiveFirstName. The primary use of primitive accessors is to prevent key-value observing notifications from being…
最近写程序是遇到了一种情况,对coredata 操作时,有一定几率crash,crash时无任何说明,断点调试后发现,fetch出的对象的属性竟然和数据库中的不同,不知道什么情况下导致了context的一致性被破坏了,查了好久也没有找出真正原因,但是找到了解决方法:在每次复杂的逻辑前加一句: [[DBManager sharedManager].managedObjectContext reset]; ,让context丢弃cache中的数据,完美地解决了问题.…
在coredata 数据库结构被更改后,没根据要求立即建立新version,而是在原version上进行了小修改,之后才想起来建立新版本.并通过以下代码合并数据库, NSError *error = nil; NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,…
官方文档建议为每一个可以设置inverse的relationship设置一个inverse.目的是保持数据库的正确性.但是没有具体的说明. 我在stackoverflow中找到了一个是分好的答案,http://stackoverflow.com/questions/764125/does-every-core-data-relationship-have-to-have-an-inverse 内容如下: Apple documentation has an great example that…
最近在学习CoreData, 因为项目开发中需要,特意学习和整理了一下,整理出来方便以后使用和同行借鉴.目前开发使用的Swift语言开发的项目.所以整理出来的是Swift版本,OC我就放弃了. 虽然Swift3 已经有了,目前整理的这个版本是Swift2 的.Swift 3 的话有些新特性. 需要另外调整,后续有时间再整理. 继承CoreData有两种方式: 创建项目时集成 这种方式是自动继承在AppDelegate里面,调用的使用需要通过UIApplication的方式来获取AppDelega…
关于CoreData 的基本操作在网上有一些中文资料,但是这些资料大多没有涉及CoreData的详细操作,只是简单的演示了最基本用法.像级联删除这种最基本的数据库操作都没有提到.今天在网上看到了一些英文资料.打算有时间把关键的地方总结下,发上来. 一下是原文地址 http://www.raywenderlich.com/14742/core-data-on-ios-5-tutorial-how-to-work-with-relations-and-predicates .如果你不熟悉CoreDa…
使用coreData,一定要有上下文环境.创建上下文时,和以前有些不同,之前 NSManagedObjeContext *context = [NSManagedObjectContext alloc] init]; 或者 NSManagedObjeContext *context = [NSManagedObjectContext alloc] new]; 最新的Xcode 7.1 @interface ViewController () //需要声明该属性 作为初始化上下文的一个参数 @pr…
上面一篇文章介绍了coredata的有关基本概念,由于大部分是参考别人文章中的内容,所以感觉有点虚,而且估计也是比较难以理解,下面这篇文章通俗一点说说学习coredata后的一些理解,然后给出一个简单的demo,有错漏的地方,欢迎读者指正. 其实与coredata有关的有几个概念: 数据表 --–> Entity  (You usually define entities in a managed object model usingthe data modeling tool in Xcode…
下面开始学习一下CoreData. Core Data不是一个关系型数据库,也不是关系型数据库管理系统(RDBMS). Core Data 为数据变更管理.对象存储.对象读取恢复的功能提供了支持. 它可以使用SQLite作为持久化存储的类型. 它本身并不是一个数据库(这点很重要,比如,你可以使用Core Data来记录数据变更,管理数据,但并不能用它向文件内存储数据). 一.Core Data基础 1. Core Data基本架构 在大部分程序中,你要能通过某种方式打开一个包含对象归档的文件,…
static int row=0; static const NSString *kStoryboardName = @"LRCoreDataViewController"; static const NSString *kIdentifier = @"LRCoreDataViewController"; @interface LRCoreDataViewControllerCellInfo : NSObject @property (nonatomic,stron…
昨天写了一篇关于coredata的文章,自己觉得挺傻的文章.没想其它程序员看过后觉得更傻,于是今天决定写一篇厉害点的,首先写了一个coredata和uitableview结合的框架,非常简单实现了数据变化时对应的uitableview的视图也变化的效果. 1.考虑到很多地方都要用到fetchedresultscontroller这个功能,如果每个类里都写的这些代码的话,看着很不简约,于是就写了SQCFetchedResultsController这个类文件,首先考虑它和外部类的对接部分: a.需…
CoreData数据库虽然可以和tableview或者UITableViewController一起使用将数据显示在表格上,但是在准备数据的时候,这种方式需要用一个可变数组来装从数据库一次性取出来的所有数据,然后通过操作这个数组来显示数据再表格上,从内存的优化和性能上来说并不是很好:这里,介绍一种新的抓取数据的方式,苹果公司为了进一步优化内存,创建了一个从数据库抓取数据的控制器NSFetchedResultsController,它能从CoreData中一批一批的抓取数据并存放起来,然后通过操作…
CoreData数据库是用来持久性存储数据的,那么,我们再从该数据库中取出数据干什么呢?明显的是为了对数据做操作,这个过程中可以将它们直观的显示出来,即通过表格的形式显示出来.CoreData配合tableView一起使用,是很常用的一种方式,直观.清晰明了. 下面就来具体的举个例子: 要求:将数据库中的数据显示在表格中,并且可以进行删除.插入等一些操作. 前期的具体步骤: 1.创建项目时,勾选Use Core Data,生成CoreData_____.xcdatamodel文件: 2.点击Co…
CoreData数据库框架:mac系统自带的数据库,它是苹果公司对sqlite进行封装而来的,既提供了对数据库的主要操作,也提供了具体的视图关系模型. 需要用到三个对象: 1•Managed Object Model(被管理对象模型):          数据库的轮廓,或者结构.包含了各个实体的定义信息 2•Persistent Store Coordinator (持久性数据协调器):         数据库连接库,在这里设置数据存储的名字和位置,以及数据存储的时机 3•Managed Obj…
app中使用了CoreData,并且在下一个版本中有实体变动,比如实体新增字段.修改字段等改动, 那么app在覆盖安装时就要进行数据库迁移, 否则app就会crash. 那如何实现数据库迁移呢?大概需要这几个步骤: 1. 选中你的CoreData.xcdatamodeld文件,选择Xcode菜单editor->Add Model Version 比如取名:mydata2.xcdatamodel           截图.png 截图.png 2. 起一个名字,也就是当前新版本CoreData文件…