我有一个与 CoreData 相关的问题,
我有这个 .xcdatamodeld 文件,它有 2 个实体,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-推荐答案 strong>
您必须使用关系的名称。然后修改您的代码以获取任务,并使用关系名称指定谓词:
- (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/
|