データベースであるかのようにスキーマを設計しているようです。これをしないでください。これは必須ではなく、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 を使用している場合は、それに応じてコードを変更してください。