一、创建两个表
1. 员工表:有三个字段:姓名(字符串),年龄(int),电话(字符串)。
2. 公司表:1个员工只能有一个公司,一个公司可以有多个员工;有1个字段:公司名称(字符串)
3. 创建模型。
3.1 点击“项目名称.xcdatamodeld” -> 菜单栏"Editor" -> "Create NSManagedObject Subclass...". 如图:
3.2 出现的弹框选着下一步:再次出现弹框的时候,有2个可勾选的选项,这两个选项的名称就是你创建的两个“ENTITIES”,比如创建的是“personnal”“Company”.就会出现如下图:
3.3 两个都勾选完毕以后,一直点击下一步即可。完成整个步骤以后,会出现一些类文件,即创建完毕。如图:
二、代码赋值
- (void)coreDataBtn { // 1. 打开沙盒,查看数据库 NSLog(@"沙盒路径 : %@",NSHomeDirectory()); /* 2. 往Person表中插入数据,使用模型 * NSEntityDescription : 实体描述对象,用来描述一个实体 * - 使用方法:如果要新建一条记录,需要使用实体描述对象 * * 表示要传入一条记录 * 插入 kPersonal 实体描述的记录 * 插入之后,实体信息在context中维护 * 返回一个指定实体名称对应数据模型 */ Personnal *mPersonal = [NSEntityDescription insertNewObjectForEntityForName:kPersonal inManagedObjectContext:self.appDelegate.managedObjectContext]; // 2.1 使用模型进行赋值 mPersonal.personName = @"第二"; mPersonal.phoneNo = @"13133333333"; mPersonal.age = @(19); // 2.2 给公司赋值 Company *mCompany = [NSEntityDescription insertNewObjectForEntityForName:kCompany inManagedObjectContext:self.appDelegate.managedObjectContext]; mCompany.companyName = @"百度"; // 2.3 给person的人赋值公司名称 mPersonal.company = mCompany; // 3. 保存 [self.appDelegate saveContext]; // 保存成功 NSLog(@"运行完毕"); }