假设我有一个具有两个NSNumber属性的Core Data实体:value1
和value2
。
我想构造一个NSFetchedResultsController
,以便可以在表格视图中显示我的属性。表格视图应按totalValue
排序,这是通过将value1
和value2
相加得出的。
totalValue = [NSNumber numberWithInt:([value1 intValue] + [value2 intValue])];
totalValue
未存储在数据库中,因为它很容易从value1
和value2
派生。我可以按两个独立的属性对
NSFetchedResultsController
进行排序,但是如何使用两个依存属性对它进行排序,例如按totalValue
进行排序,value1
和value2
的组合? 我可以对
NSManagedObject
进行子类化,但是可以创建NSSortDescriptor
以便它在我的子类NSManagedObject
中的方法上排序吗?我知道我可以轻松地将
totalValue
存储在数据库中,但是如果我想根据与用户位置的距离对位置进行排序怎么办?比存储距离不是一个选择。 最佳答案
您可以轻松地将总值声明为对象中的方法。您也可以使用瞬态值,这意味着在数据库中找不到该值。
然后,您只需创建一个排序描述符。
相当简单易用,并且用了很多排序