【问题标题】:Sorting Core Data entities by two dependent attributes按两个依赖属性对核心数据实体进行排序
【发布时间】:2012-02-23 11:01:09
【问题描述】:

假设我有一个具有两个 NSNumber 属性的核心数据实体:value1value2

我想构造一个NSFetchedResultsController,这样我就可以在表格视图中显示我的属性。表格视图应按totalValue 排序,女巫通过将value1value2 相加计算得出。

totalValue = [NSNumber numberWithInt:([value1 intValue] + [value2 intValue])];

totalValue 未存储在数据库中,因为它很容易从value1value2 派生而来。

我可以通过两个独立的属性对NSFetchedResultsController 进行排序,但是如何使用两个依赖属性对它进行排序,例如按totalValue 排序,value1value2 的组合?

我可以将NSManagedObject 子类化,但我可以创建一个NSSortDescriptor 以便它对我的子类NSManagedObject 中的方法进行排序吗?

我知道我可以轻松地将totalValue 存储在数据库中,但是如果我想根据与用户位置的距离对位置进行排序怎么办?比存储距离不是一种选择。

【问题讨论】:

    标签: iphone ios core-data nsmanagedobject nssortdescriptor


    【解决方案1】:

    您可以轻松地将总值声明为对象中的一种方法。您还可以使用瞬态值,这意味着在数据库中找不到该值。 然后你只需创建一个排序描述符。

    使用很简单,排序用了很多

    【讨论】:

      【解决方案2】:

      如果我是你,我将为我的实体添加 totalValue 作为新属性,这样你的实体就可以按 value1 和/或 value2 和/或 totalValue 排序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-11-17
        • 2011-01-26
        相关资源
        最近更新 更多