【发布时间】:2014-02-03 17:10:51
【问题描述】:
我是核心数据的新手。我正在尝试使用 Core Data 创建一个员工数据库。我将用户名和他的生日存储在一个实体 Employee 中,并且该员工可以有 多个 电话号码。所以我创建了另一个实体PhoneNumbers 来存储电话号码。我已经为这两个实体建立了关系。但是当我尝试为员工插入两个电话号码时,只有第二个电话号码与员工有关系。
我不知道如何改变我的核心数据模型。
这就是我将数据插入核心数据的方式。
NSManagedObject *entry = [NSEntityDescription insertNewObjectForEntityForName:@"Employee" inManagedObjectContext:_managedObjectContext];
[entry setValue:@"Suresh" forKey:@"name"];
[entry setValue:[NSDate date] forKey:@"birthdate"];
NSManagedObject *phoneEntry = [NSEntityDescription insertNewObjectForEntityForName:@"PhoneNumbers" inManagedObjectContext:_managedObjectContext];
[phoneEntry setValue:@"9600492944" forKey:@"phone"];
[phoneEntry setValue:entry forKey:@"owner"];
[entry setValue:phoneEntry forKey:@"phone"];
NSError *error = nil;
if (![_managedObjectContext save:&error]) {
NSLog(@"hi %@", [error localizedDescription]);
}
NSManagedObject *phoneEntry1 = [NSEntityDescription insertNewObjectForEntityForName:@"PhoneNumbers" inManagedObjectContext:_managedObjectContext];
[phoneEntry1 setValue:@"1234567890" forKey:@"phone"];
[phoneEntry1 setValue:entry forKey:@"owner"];
[entry setValue:phoneEntry1 forKey:@"phone"];
if (![_managedObjectContext save:&error]) {
NSLog(@"hi %@", [error localizedDescription]);
}
【问题讨论】:
-
查看我提供的链接。希望对您有所帮助。