ios coredata怎么创建多张表

ios coredata怎么创建多张表,第1张

1)先创建需要的实体表(方法见"CoreData单表创建使用")

Course, Section, Teacher 表

2)建立关联 设置删除关系,对应关系如下(设置的具体含义已在文章第二部分介绍)

课程_教师 (一课程可包含多个教师,删除关系:作废)

课程_章节(一节课可包含多个章节,删除关系:级联)

章节_课程(一个章节只属于一个课程,删除关系:作废)

教师_课程(一个教师可以讲多门课,删除关系:作废)

创建之后查看style关系:

表关系

3)使用创建的对象生成相应地文件:.h和.m(方法见"CoreData单表创建使用")

根据3个对象创建的文件

根据设置的对象之间的对应关系 会生成相应地属性和方法Section对应一个课程时 添加课程对象的属性

课程对应的章节以及教师都是多个,生成NSSet 存储 并生成相应方法

NSSet 是一个无序的集合 ,可以使用NSSet 与NSArray根据需要转换使用,其他使用方法 同单表使用的增删查改,只是访问时多层访问.

如:NSPredicate*predict = [NSPredicate predicateWithFormat:@"section_course.courseId = %d",courseId]

如:self.courseEntity.course_teacher.count

coreData多表关联的基本 *** 作已做一个简单的介绍,具体的功能还待使用者发掘,并且苹果提供了NSFetchController 与coreData结合使用.

第一步:创建一个 DataDemo.xcdatamodel 文件,在其中建一个实体名字为 Entity1 ,实体中建两个字段 id 和 name。

第二步:为项目添加 CoreData.framework 框架,然后在 .pch 中加入 #import <coredata/coredata.h>

第三步:在 app delegate 中定义 core data 的相关对象(同时完成它们的初始化工作)

.h 文件~

没有像MySQL里面那样的autoincrement字段,但是Core Data每条数据存储时都会自动生成一个全局唯一的NSManagedObjectID,这个ID可以通过以下方式获得: NSManagedObjectID *moID = [managedObject objectID]这个ID转成string后是类似于EE13EA1E


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11406950.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存