【问题标题】:Core Data: Finding Related Objects核心数据:查找相关对象
【发布时间】:2011-05-03 21:00:02
【问题描述】:

我对核心数据的理解有些问题。在我的程序中有两个实体,比如AB。它们相互之间有两个引用,AB 具有一对多关系。

我可以让它们显示在 TableViewControllers 中,我可以显示所有As 和所有Bs。但是,我只想显示属于特定A 的所有Bs,所以我想知道where 子句的核心数据版本。由于Core Data中没有外键,我想它需要通过关系,对吧?

我试过了:

NSPredicate *predicate = nil;
predicate = [NSPredicate predicateWithFormat:@"readingEntity.meter=%@",meter];

(在我得到所有Bs的函数中,meter是我的A)。

有人可以帮我解决这个问题吗? 问候。

【问题讨论】:

    标签: core-data filter where-clause relationship


    【解决方案1】:

    如果您已经拥有A 对象,则根本不需要谓词。相反,您只需向A 对象询问其相关的B 对象。

    不要将 Core Data 视为 SQL。它不是。它的工作方式不同。

    【讨论】:

    • 好的。我想这很难。例如,只有当我得到所有 B 时,我将如何用特定的 B 填充表格?我必须事先对 B 的数组进行预排序吗?
    • A.bs 的关系会返回一组B 对象。然后,您可以使用排序描述符来根据需要对集合进行排序。
    • 谢谢你——上周我终于明白了。
    • @TechZen 在不实现NSFetchedResultsControllerDelegate的情况下如何处理相关对象的插入和删除?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-19
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多