CoreData 的简单使用__ 01

作者: _李布斯 | 来源:发表于2015-05-07 09:52 被阅读568次

注:使用coreData 记得导入 #import <CoreData/CoreData.h>

1.创建模型文件Company.xcdatamodeld

2.添加实体(表)Employee

3.创建实体类(相当于模型)Employee.h/.m文件

4.生成上下文 (这里我为了方便定义一个全局的上下文)

NSManagedObjectContext*context = [[NSManagedObjectContextalloc]init];

//5.上下文关联数据库

NSManagedObjectModel*model = [NSManagedObjectModel mergedModelFromBundles:nil];//就是1(模型文件)

NSPersistentStoreCoordinator*store = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:model];//持久化存储调度器

//告诉coreData数据库的名字和路径

NSString*doc = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) lastObject];

NSString*sqlitePath = [doc stringByAppendingPathComponent:@"company.sqlite"];

[store addPersistentStoreWithType:NSSQLiteStoreTypeconfiguration:nil URL:[NSURLfileURLWithPath:sqlitePath]options:nilerror:nil];

context.persistentStoreCoordinator= store;

_context= context; //把全局的赋值下

上下文有了之后就可以进行增删改查操作了。

5.添加

- (void)addEmployee {

//1.创建员工对象

Employee*emp = [NSEntityDescription insertNewObjectForEntityForName:@"Employee"inManagedObjectContext:_context];

emp.name=@"JasoneIo";

emp.height=@1.81;

emp.birthday= [NSDate date];

NSError*error =nil;

[_contextsave:&error];

if(error) {

NSLog(@"%@",error);

}

}

6.读取

- (void)readEmployee {

// 1.抓取请求对象

NSFetchRequest*request = [NSFetchRequest fetchRequestWithEntityName:@"Employee"];

//2.设置过滤条件

//NSPredicate *pre = [NSPredicate predicateWithFormat:@"name = %@",@"JasoneIo2"];

//request.predicate = pre;

//3.设置排序

//按照身高来排序(升序排序)

NSSortDescriptor*heightSort = [NSSortDescriptor sortDescriptorWithKey:@"height" ascending:YES];

request.sortDescriptors=@[heightSort];

//4.执行请求

NSArray*arr = [_context executeFetchRequest:requesterror:nil]; //这个语句返回的是一个数组,数组里面包含的类型就是 模型

for (Employee*emp in arr) {

NSLog(@"%@_%@_%@",emp.name,emp.height,emp.birthday);

}

}

7.更新

- (void)updateEmployee {

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Employee"];

//2.设置过滤条件

NSPredicate*pre = [NSPredicate predicateWithFormat:@"name = %@",@"JasoneIo2"];

request.predicate= pre;

//4.执行请求

NSArray*arr = [_context executeFetchRequest:requesterror:nil];

for (Employee*emp in arr) {

emp.height=@2.0;

}

//保存

[_context save:nil];

}

8.删除

- (void)deleteEmployee {

NSFetchRequest*request = [NSFetchRequest fetchRequestWithEntityName:@"Employee"];

//2.设置过滤条件

NSPredicate*pre = [NSPredicate predicateWithFormat:@"name = %@",@"JasoneIo"];

request.predicate= pre;

//4.执行请求

NSArray *arr = [_context executeFetchRequest:request error:nil];

for (Employee*emp in arr) {

[_context deleteObject:emp];//删除

}

//保存

[_context save:nil];

}

相关文章

  • CoreData 的简单使用__ 01

    注:使用coreData 记得导入 #import 1.创建模型文件C...

  • 【优化篇】coreData数据迁移

    前面有有写过一篇关于coredata简单使用的教程【进阶篇】iOS coreData简单使用教程 说起coreda...

  • MG--Swift3.0简单使用CoreData

    问题:什么时候使用CoreData?数据模型之间关系比较简单的时候 如何简单使用CoreData1.创建一个项目勾...

  • 第五篇:CoreData

    CoreData 初识CoreData 基础使用CoreData 高级使用CoreData 使用进阶CoreDat...

  • CoreData 简单使用

    0.0 coredata 相关术语及简介, 1.查看运行时的sql语句,在Product-Scheme-Edit ...

  • CoreData简单使用

    github地址借鉴文章 概念介绍coreDataNSManagedObjectContext 管理对象,上下文,...

  • CoreData的简单使用

    CoreData入门 CoreData简介 iOS开发中实现数据持久化存储的一种重要手段 提供了对象-关系映射的功...

  • CoreData的简单使用

    CoreData简介 CoreData用于做数据的持久化. CoreData不是数据库,但它可以通过数据库或XML...

  • coreData的简单使用

    这里只记录coreData的简单使用(增,删,改,查) 创建Data Model(注意,基础工程在创建的时候并没有...

  • CoreData的简单使用

    大家好之前项目中一直用的是fmdb进行本地数据持久化,最近在项目中用到了CoreData,,所以这次就简单发个文章...

网友评论

    本文标题: CoreData 的简单使用__ 01

    本文链接:https://www.haomeiwen.com/subject/iioifttx.html