您似乎正在设计您的架构,就好像它是一个数据库。请不要这样做。这与 CoreData 的工作方式没有必要和对立。您应该摆脱您的 ID 字段。只需在模型中声明适当的关系,然后为员工获取部门所需要做的就是:
myEmployee.departmentName
获取所有员工将像这样完成:
NSManagedObjectContext *moc = [self managedObjectContext];
NSEntityDescription *entityDescription = [NSEntityDescription
entityForName:@"Employee" inManagedObjectContext:moc];
NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
[request setEntity:entityDescription];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]
initWithKey:@"firstName" ascending:YES];
[request setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
[sortDescriptor release];
NSError *error = nil;
NSArray *array = [moc executeFetchRequest:request error:&error];
if (array == nil)
{
// Deal with error...
}
这是从文档中获取的。如果您使用的是 ARC,则相应地更改代码。