频道栏目
首页 > 资讯 > IOS > 正文

IOS coredata基础

17-05-06        来源:[db:作者]  
收藏   我要投稿

IOS coredata基础。coredata是OC语言对于SQlite的又一次封装,支持自定义对象添加到关系型数据库的表中。sqlite只支持基础数据类型的添加。

下面我们一起通过一个demo来学习一下如何使用coredata

首先新建工程需要勾选上use coredata

这里写图片描述

然后添加实体,也就是要添加的一张表

这里写图片描述

按照下图步骤修改实体名,以及添加实体,也就是表中的字段

这里写图片描述

生成实体,也就是生成表

这里写图片描述

编译调试,如果报错删除下图对应代码

这里写图片描述
这里写图片描述

好了,准备工作完成,接下来我们就可以使用coredata了。还是使用增删改查功能。

首先导入需要的头文件

#import "Person+CoreDataProperties.h"

#import "AppDelegate.h"

case 0:{//增加数据

Person *p = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:app.persistentContainer.viewContext];

p.name = @"李四";

p.age = 32;

Person *p1 = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:app.persistentContainer.viewContext];

p1.name = @"李san";

p1.age = 11;

Person *p2 = [NSEntityDescription insertNewObjectForEntityForName:@"Person" inManagedObjectContext:app.persistentContainer.viewContext];

p2.name = @"旺旺";

p2.age = 21;

[app saveContext];

}

break;

case 1://删除

{

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

NSArray *persons = [app.persistentContainer.viewContext executeFetchRequest:request error:nil];

for (Person *p in persons) {

// if ([p.name isEqualToString:@"李san"]) {

[app.persistentContainer.viewContext deleteObject:p];

[app saveContext];

// }

}

}

break;

case 2://修改

{

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

NSArray *persons = [app.persistentContainer.viewContext executeFetchRequest:request error:nil];

for (Person *p in persons) {

if ([p.name isEqualToString:@"李四"]) {

p.name = @"王五";

p.age = 88;

[app saveContext];

}

}

}

break;

case 3://查询

{

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

NSArray *persons = [app.persistentContainer.viewContext executeFetchRequest:request error:nil];

for (Person *p in persons) {

NSLog(@"%@ %d %@",p.name,p.age,p.objectID);

}

}

break;

}

下面我们来测试一下coredata使用情况

点击添加,再点击查询,结果如下:

这里写图片描述

然后点击删除,在查询

这里写图片描述

然后点击修改,在查询

这里写图片描述

完全符合预期。可以看到coredata可以正常使用

相关TAG标签
上一篇:Android进阶——自定义View的必修课之关于Canvas绘图与Android坐标系的总结
下一篇:移动设备加密有多强 FBI称半数设备他们无法打开
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站