美文网首页iOS数据持久化ios技术myls
CoreData 的简单使用__ 03.表之间的关联

CoreData 的简单使用__ 03.表之间的关联

作者: _李布斯 | 来源:发表于2015-05-10 16:01 被阅读687次

1.我们在 Company.xcdatamodeld 里面新建一张表 Department,里面添加几个字段。

图1

2.然后我们在Employee 表里面设置关联。

图2

3.最后我们生成模型文件,如图:

4.弄好这些后 我们来看看如何使用:

(1)首先创建上下文 这里就不多复述了 详见《CoreData 的简单使用__ 01》

(2)然后我们来添加信息 两个员工,一个属于iOS 一个属于Android

-(void)addEmployee{

//创建两个部门ios android

Department *iosDepart = [NSEntityDescription insertNewObjectForEntityForName:@"Department"inManagedObjectContext:_context];

iosDepart.name=@"iOS";

iosDepart.departNo=@"0001";

iosDepart.createDate= [NSDatedate];

Department *andrDepart = [NSEntityDescription insertNewObjectForEntityForName:@"Department"inManagedObjectContext:_context];

andrDepart.name=@"android";

andrDepart.departNo=@"0002";

andrDepart.createDate= [NSDatedate];

//创建两个员工对象zhangsan属于ios部门lisi属于android部门

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

zhangsan.name=@"zhangsan";

zhangsan.height=@(1.90);

zhangsan.birthday= [NSDate date];

zhangsan.depart= iosDepart;

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

lisi.name=@"lisi";

lisi.height=@2.0;

lisi.birthday= [NSDate date];

lisi.depart= andrDepart;

//直接保存数据库

NSError*error =nil;

[_context save:&error];

if(error) {

NSLog(@"%@",error);

}

}

(3) 添加完信息后我们来读取下:

-(void)readEmployee {

// 1.FectchRequest抓取请求对象

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

// 2.设置过滤条件

NSPredicate*pre = [NSPredicate predicateWithFormat:@"depart.name = %@",@"iOS"];

request.predicate= pre;

// 4.执行请求

NSError*error =nil;

NSArray*emps = [_context executeFetchRequest:requesterror:&error];

if(error) {

NSLog(@"error");

}

//NSLog(@"%@",emps);

//遍历员工

for(Employee*emp in emps) {

NSLog(@"名字%@部门%@",emp.name,emp.depart.name);

}

}

运行结果如下:

到这里CoreData的简单使用就差不多结束了,相信大家掌握这些基本的用法后对CoreData也能够入门了,如果想系统的学习CoreData的同学可以 买 《Core Data 应用开发实践指南》 这本书看看。

相关文章

  • CoreData 的简单使用__ 03.表之间的关联

    1.我们在 Company.xcdatamodeld 里面新建一张表 Department,里面添加几个字段。 2...

  • coredata 简单掌握多表查询

    coredata 碎知识点 coredata多表/关联 简单的使用 对象之间的对应关系 会生成相应的属性和方法 一...

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

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

  • 数据存储:CoreData

    CoreData的简单使用介绍(已User表为例) 重点类 NSManagedObject 通过Core Data...

  • 关联关系查询(第一讲)

    关联查询 当查询内容涉及到具有关联关系的多个表时,就需要使用关联查询。根据表与表之间的关联关系的不同,关联查询分为...

  • 多表查询

    基本概念(只有表与表之间有关联,才可以使用|关联字段) 统计emp表、dept表的数据量 笛卡尔积执行select...

  • 【优化篇】coreData数据迁移

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

  • CoreData的简单使用

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

  • CoreData的简单使用

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

  • coreData的简单使用

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

网友评论

  • 863c73f31933:楼上我这边进行coredata迁移的时候crash啦,知道是什么原因导致的不?

本文标题:CoreData 的简单使用__ 03.表之间的关联

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