Сортировка объектов Core Data по двум зависимым атрибутам

Допустим, у меня есть сущность Core Data с двумя атрибутами NSNumber: value1 и value2.

Я хочу создать NSFetchedResultsController, чтобы отображать свои атрибуты в виде таблицы. Табличное представление должно быть отсортировано по totalValue, потому что вычисляется путем суммирования value1 и value2.

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

totalValue не хранится в базе данных, потому что его легко получить из value1 и value2.

Я могу отсортировать NSFetchedResultsController по двум независимым атрибутам, но как мне отсортировать его с двумя зависимыми атрибутами, такими как сортировка по totalValue, комбинация value1 и value2?

Я могу создать подкласс NSManagedObject, но могу ли я создать NSSortDescriptor, чтобы он сортировался по методу в моем подклассе NSManagedObject?

Я знаю, что могу легко сохранить totalValue в базе данных, но что, если я хочу отсортировать местоположения по расстоянию от местоположения пользователей? Тогда сохранение расстояния не будет вариантом.


person thijsai    schedule 23.02.2012    source источник


Ответы (2)


Вы можете легко просто объявить общее значение как метод в вашем объекте. Вы также можете использовать временные значения, это означает, что значение не найдено в базе данных. Затем вы просто создаете дескриптор сортировки.

Довольно прост в использовании и много использовал для сортировки

person Trausti Thor    schedule 28.02.2012

Если бы я был вами, я бы добавил totalValue в качестве нового атрибута для моего объекта, чтобы ваши объекты могли быть упорядочены по значению1 и/или значению2 и/или общему значению.

person user1226119    schedule 28.02.2012