gpt4 book ai didi

iphone - xcode iOS CoreData 简单关系数据检索

转载 作者:行者123 更新时间:2023-11-29 04:27:27 24 4
gpt4 key购买 nike

我的 coredata 模型中有两个表(有更多表,但保持示例简单)员工和部门。一个员工属于一个部门,一个部门又包含很多员工。以下是表定义:

Employee
================
employeeID int32
firstName string
lastName string
departmentID int32

Department
================
departmentID int32
departmentName string

我只是想知道检索所有员工及其部门名称的最简洁方法是什么?

谢谢

最佳答案

您似乎正在设计您的架构,就好像它是一个数据库一样。请不要这样做。它不是必需的,并且与 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,则相应地更改代码。

关于iphone - xcode iOS CoreData 简单关系数据检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12136183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com