iOS之 coredata

1.介绍

coredata是一种ORM(对象关系映射)技术。

其中有两个关键的模型是关系数据模型和对象模型。

2.coreData 堆栈

在xcode项目上添加coredata 时,会自动在appdelegate上生成三个成员属性以及两个方法。

分别是

NSManagedObjectModel 的属性是被管理对象模型类,而NSPersistentStoreCoordinator 是持久化存储协调器类。

NSManagedObjectContext 是被管理对象上下文类。

两个方法:

saveContext 以及 applicationDocumentsDirectory.

saveContext 是保存被管理对象上下文(当对象被进行一些数据修改之后)。

applicationDocumentsDirectory 是获取应用程序沙箱目录。

Persistent Object Store (POS) 持久化对象存储,将对象转化为数据,它有三种实现方式SQLite,二进制文件以及内存形式。

MOM,PSC,MOC,POS这四个部分共同组成了coredata 堆栈。

3.建模和生成实体

模型:datamodel  建立xcdatamodeld数据文件,添加实体类,点击实体类,将它与被管理对象绑定,再创建被管理对象。

采用分层架构设计时,coredata 只能放置在持久层里面。

之前在appdelegate中自动生成的代码将其移植到 coredata中来。

查询数据,所需要用到的代码:

NSManagedObjectContext * cxt = [self mangedObjectContext];获取上下文。

NSEntityDescription * entity = [NSEntityDescription entityForName:@"Note" inManagedObjectContext:cxt];获取描述类;

NSFetchRequest * fetchRequest = [[ NSFetchRequest alloc] init]; 获取请求类。

将描述对象添加到请求类当中:

fetchRequest.entity = entity.

依据请求对象fetchRequest 执行查询,并获取NSArray对象。

NSError * error =  nil;

NSArray *listData = [cxt executeFetchRequest:fetchRequest error:&error];

listData 对象存储的是NoteManagedObject实体对象,用下面的代码将NoteManagedObject转换为note对象。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值