Core Data的使用

原创 2016年05月31日 21:41:51

 Core Data不是应用程序的数据库,也不是将数据持久化保存到数据库的API。Core Data是一个用于管理对象图的框架。Core Data可以把对象图写入磁盘从而持久化保存。

1.Core Data stack

 Core Data stack是Core Data的核心,由一组Core Data核心对象组成.
 ➢  NSManagedObjectContext  对象管理上下文:    负责管理模型的对象的集合 
 ➢  NSManagedObjectModel    被管理的对象模型:   负责管理对象模型
 ➢  NSPersistentStoreCoordinator    存储调度器:  负责将数据保存到磁盘的

2.多表关联

Type:
toOne:只指向一个对象
toMany:可以包含多个对象(一般是集合类型)


DeleteRule:

ClassRoom.students --> Student  Nullify(作废):
Student.classRoom --> ClassRoom Nullify:

3.NSManagedObjectContext使用上下文查询

1)  实例化查询请求
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];

2)  实例化实体描述(指定要去哪个实体里查&使用哪个上下文)
NSEntityDescription *entity = [NSEntityDescription entityForName:[Contact entityName] inManagedObjectContext:[CoreDataTool shareInstance].managedObjectContext];

3)  将查询请求设置实体名
[fetchRequest setEntity:entity];

4)  实例化 查询条件(谓词)
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self.name contains 'a'"];

5)  设置查询请求的 查询条件
[fetchRequest setPredicate:predicate];

6)  实例化一个排序器(指定某个属性的升降顺序)
NSSortDescriptor*sortDescriptor=[[NSSortDescriptor alloc] initWithKey:@"namePinYin" ascending:YES];

7)  设置查询请求的排序器(可以多个)
[fetchRequest setSortDescriptors:[NSArray arrayWithObjects:sortDescriptor, nil]];

8)  使用管理上下文执行查询语句
NSError *error = nil;
NSArray*fetchedObjects=[[CoreDataTool shareInstance].managedObjectContext executeFetchRequest:fetchRequest error:&error];
版权声明:本文为博主原创文章,未经博主允许不得转载。

Coredata — 入门使用

CoreData的底层实现虽然是使用的sqlite数据库,可是CoreData在使用起来可是和sqlite大相径庭,可能你会发现你连一句sql语句都不要写。CoreData存在于应用程序和持久化存储区...
  • magical_code
  • magical_code
  • 2016年04月09日 14:45
  • 2232

Core Data浅谈系列之十 : 关于数据模型中实体的属性

之前写了《Core Data浅谈系列汇总》,今天稍微回顾了下,做些补充。在这个系列的第一篇《基础结构》中(2013年1月份的文章,时间过得好快啊!),有简单带过Entity的Attribute:数据类...
  • jasonblog
  • jasonblog
  • 2014年06月08日 20:23
  • 8242

iphone数据存储之-- Core Data的使用(一)

一、概念 1.Core Data 是数据持久化存储的最佳方式 2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型 在Mac OS X 10.5...
  • ruglcc
  • ruglcc
  • 2016年01月21日 20:14
  • 3676

[转] --- Core Data 线程大揭秘

原文地址: Core Data 线程大揭秘, 作者是Marcus Zarra. Marcus Zarra Marcus Zarra 最为出名的就是他精通 Core Data、持久化存储以及网...
  • icetime17
  • icetime17
  • 2016年07月31日 10:40
  • 507

Core Data的使用(二)

原文:http://www.cnblogs.com/xiaodao/archive/2012/10/09/2716579.html 一、基础概念深入 1.NSManagedOb...
  • gfchenun
  • gfchenun
  • 2014年01月07日 16:01
  • 358

Core Data的使用

Core data 是 Cocoa 中处理数据,绑定数据的关键特性,其重要性不言而喻,但也比较复杂。Core Data 相关的类比较多,初学者往往不太容易弄懂。计划用三个教程来讲解这一部分: ...
  • SHZnt
  • SHZnt
  • 2015年12月17日 19:12
  • 117

core data使用教程

core data使用教程从印象中记得还是在学校的时候老师讲过的时候用过,那时觉得好难,以至于工作2年多了一直没敢去看core data,前几天想了下,不去看不行,得都会用才行,于是那天6点下班后就准...
  • u011140147
  • u011140147
  • 2016年01月08日 13:50
  • 973

Core Data的使用

初步看了一下Core Data这个东西,本想早一点写这篇东西的,不过各种俗事缠身,又觉得自己对于Core Data机制了解的还不够深,动笔就慢了几天。不过今天盘点一下,觉得可以说一点东西出来就先说一点...
  • sakulafly
  • sakulafly
  • 2013年11月09日 12:12
  • 2391

iOS中Core Data的使用

Core Data的使用以及通过MagicalRecord对Core Data的操作
  • haoxindasoft
  • haoxindasoft
  • 2015年12月01日 16:09
  • 294

Core Data的使用(一)

一、概念 1.Core Data 是数据持久化存储的最佳方式 2.数据最终的存储类型可以是:SQLite数据库,XML,二进制,内存里,或自定义数据类型 在Mac OS X 10.5...
  • boomery
  • boomery
  • 2014年10月29日 14:56
  • 165
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Core Data的使用
举报原因:
原因补充:

(最多只允许输入30个字)