假设我有一个具有两个NSNumber属性的Core Data实体:value1value2

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

totalValue = [NSNumber numberWithInt:([value1 intValue] + [value2 intValue])];
totalValue未存储在数据库中,因为它很容易从value1value2派生。

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

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

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

最佳答案

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

相当简单易用,并且用了很多排序

07-28 03:57
查看更多