假设我有一个具有两个NSNumber属性的Core Data实体:value1
和value2
。
我想构建一个NSFetchedResultsController
,这样我就可以在表格视图中显示我的属性。表格视图应按totalValue
排序,通过汇总value1
和value2
来计算。
totalValue = [NSNumber numberWithInt:([value1 intValue] + [value2 intValue])];
totalValue
未存储在数据库中,因为它很容易从value1
和value2
派生。
我可以通过两个独立的属性对NSFetchedResultsController
进行排序,但如何使用两个相关属性对其进行排序,例如按totalValue
排序,value1
和{{的组合1}}吗
我可以继承value2
,但是我可以创建一个NSManagedObject
,以便对我的子类NSSortDescriptor
中的方法进行排序吗?
我知道我可以轻松地将NSManagedObject
存储在数据库中,但是如果我想根据与用户位置的距离对位置进行排序呢?比存储距离不是一种选择。
答案 0 :(得分:0)
您可以轻松地将总值声明为对象中的方法。您还可以使用瞬态值,这意味着在数据库中找不到该值。 然后你只需要创建一个排序描述符。
使用起来非常简单,并且使用了很多来排序
答案 1 :(得分:-1)
如果我是你,我会将totalValue添加为我实体的新属性,这样你的实体就可以按value1和/或value2和/或totalValue进行排序。