0

我在我的项目中使用核心数据。

我遇到了一个问题,当我在代码中访问错误对象的关系后,它们的关系没有出错。

我的问题:是否有可能,该故障关系在访问它后仍然存在故障。

更新:

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 - 是主线程上的默认上下文。我在主线程上访问对象的关系。

4

1 回答 1

1

不确定问题是什么/您想要实现什么。如果您的 fetch 请求返回错误而不是对象,请执行

request.returnsObjectsAsFaults = NO;

如果您还希望获取获取的对象的某些属性/关系也被获取/不是错误,请执行

[request setRelationshipKeyPathsForPrefetching:@[@"someProperty1",@"someOtherPropertyInEntity"]];

最后一个有时会极大地帮助提高性能。

于 2013-02-01T10:44:24.867 回答