gpt4 book ai didi

ios - 如何为托管对象的关系触发故障

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:37:23 34 4
gpt4 key购买 nike

这是我正在使用的模型: CourseProgram <--->> Student --->> Grades

当我从 Core Data 获取我的 Course Program 托管对象时,它会正确返回 Student 但 Grades 作为关系错误。

我了解 Core Data 返回关系错误以减少开销。根据Apple documentation , 我可以使用 setReturnsObjectsAsFaults:强制核心数据返回托管对象而不是错误。

我试过了,没用。每当我执行类(class)计划的获取请求时,我都无法将成绩作为托管对象获取。我如何消除一段关系的错误?

这是我用来获取类(class)计划对象的代码

// Fetch from persistent data store
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"CoursePrograms"];
[fetchRequest setReturnsObjectsAsFaults:YES];

NSArray *coursePrograms = [managedObjectContext executeFetchRequest:fetchRequest error:nil];
return coursePrograms;

最佳答案

我认为您不必担心关系会以错误的方式回归。只需通过您获得的对象的关系访问它们,故障就会被触发(转换为完整的对象)。

如果您从获取请求中返回了一组类(class)计划,您可以遍历 students,然后遍历每个学生的成绩。如果它们是作为错误获取的,这不会有什么不同,你仍然会得到数据。

我写过有关故障的常见误解 here如果你有兴趣。

关于ios - 如何为托管对象的关系触发故障,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27685891/

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