
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欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)