gpt4 book ai didi

ios - 使用 NSFetchedResultsControllers 遍历一对多关系

转载 作者:行者123 更新时间:2023-11-29 05:03:32 24 4
gpt4 key购买 nike

我正在创建一个可以在多个级别的一对多关系中导航的应用程序。例如,假设 CoreDataBooks代码示例以流派列表开始,您单击一种流派,然后获取按作者组织的书籍列表,如 Apple 的代码示例中所示。

这是我的问题:Apple 文档告诉我应该使用 FetchedResultsController 来帮助将我的图书列表组织成各个部分(以及其他原因)。但是,当试图弄清楚如何从“一种”类型到我的“多种”书籍时,核心数据常见问题解答告诉我们不要使用获取。来自常见问题解答:

I have a to-many relationship from Entity A to Entity B. How do I fetch the instances of Entity B related to a given instance of Entity A?

You don’t. More specifically, there is no need to explicitly fetch the destination instances, you simply invoke the appropriate key-value coding or accessor method on the instance of Entity A.

当然,问题是我现在有一套书,但我希望他们从获取的结果 Controller 中获取它们。

继续这里的最佳方法是什么?我应该遵循常见问题解答吗?如果是,我该如何按作者将我的图书分为几个部分?

或者我是否使用获取的结果 Controller (我怀疑这更好),在这种情况下我如何遍历一对多关系(因为苹果的非常有用的答案只是“不”) ?

非常感谢您的帮助。

萨莎

最佳答案

您的数据模型大致如下所示:

Genre{
name:
books<-->>Book.genre
}

Book{
name:
genre<<-->Genre.books
}

在主表中,您运行提取结果 Controller 来获取 Genre 对象表。然后,用户选择其中一行,在幕后选择特定的Genre 对象。

由于每个 Genre 对象都有一个指向相关 Book 对象的 books 关系,因此您会自动获得对所有相关对象的引用书籍对象,这样您就不必获取任何东西。对于您的图书表格 View ,您只需在所选 Genre 对象的 books 关系中创建一个 Book 对象的排序数组。

将核心数据对象图视为一团串珠串,全部编织在网或织物中。珠子是物体,绳子是关系。抓取会从团 block 中拔出一个珠子/物体,但是一旦您手中拥有该珠子/物体,您就可以拉动它的绳子/关系来拉出与手中的珠子相关的所有珠子/物体。

因此,在大多数情况下,提取仅用于查找起始对象,然后您可以遍历关系来查找大多数其他对象。

这就是为什么苹果文档说你不需要第二次获取。

关于ios - 使用 NSFetchedResultsControllers 遍历一对多关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6267556/

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