我在我的项目中使用Core Data。
我遇到了一个问题,当我在代码中访问它们后,故障对象的关系没有失效。
我的问题:是否可能,故障关系在访问后仍然存在故障。
UPD:
NSManagedObjectContext *context = self.context;
if (!context)
return nil;
NSFetchRequest *request = NSFetchRequest.new;
request.entity = [NSEntityDescription entityForName:name inManagedObjectContext:context];
request.predicate = predicate;
if (sortDescriptors)
[request setSortDescriptors:sortDescriptors];
return [context executeFetchRequest:request error:nil];
context - 是主线程上的默认上下文。我在主线程上访问对象的关系。
答案 0 :(得分:1)
不确定问题是什么/您想要实现什么。如果您的提取请求返回错误而不是对象,请执行
request.returnsObjectsAsFaults = NO;
如果您还希望获取所获取对象的某些属性/关系/不是错误,请执行
[request setRelationshipKeyPathsForPrefetching:@[@"someProperty1",@"someOtherPropertyInEntity"]];
最后一个在提高性能时有时会有很大帮助。