OStack程序员社区-中国程序员成长平台

标题: ios - CoreData 相关问题? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:55
标题: ios - CoreData 相关问题?

我有一个与 CoreData 相关的问题,

我有这个 .xcdatamodeld 文件,它有 2 个实体,RCHTaskRCHTaskType

RCHTask RCHTaskType

RCHTask 与 RCHTaskType 有多对一关系

RCHTaskType 与 RCHTask 有一对多关系

我正在尝试获取具有特定 taskType 的 RCHTask 实例 但我失败了,我试过这个:

- (NSArray *)returnTaskOfTypeNSString *)type
{
NSFetchRequest *request = [[NSFetchRequest alloc] init];

NSEntityDescription *e = [NSEntityDescription entityForName"RCHTask"
                                     inManagedObjectContext:self.context];

request.entity = e;

NSPredicate *predicate = [NSPredicate predicateWithFormat"taskType == %@", type];

request.predicate = predicate;

NSError *error = nil;
NSArray *result = [self.context executeFetchRequest:request
                                              error:&error];

return result;
}

但是不工作你能告诉我怎么做吗?



Best Answer-推荐答案


您必须使用关系的名称。然后修改您的代码以获取任务,并使用关系名称指定谓词:

- (NSArray *)returnTaskOfTypeNSString *)type
{
NSFetchRequest *request = [[NSFetchRequest alloc] init];

NSEntityDescription *e = [NSEntityDescription entityForName"RCHTask"
                                     inManagedObjectContext:self.context];

request.entity = e;

NSPredicate *predicate = [NSPredicate predicateWithFormat"relationship.taskType == %@", type];

request.predicate = predicate;

NSError *error = nil;
NSArray *result = [self.context executeFetchRequest:request
                                              error:&error];

return result;
}

关于ios - CoreData 相关问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31664641/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4