Сортировка сущностей базовых данных по двум зависимым атрибутам - PullRequest
3 голосов
/ 23 февраля 2012

Допустим, у меня есть объект 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 в базе данных, но что если я захочу отсортировать местоположения по расстоянию от местоположения пользователя? Сохранение расстояния было бы невозможным.

Ответы [ 2 ]

0 голосов
/ 29 февраля 2012

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

0 голосов
/ 29 февраля 2012

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...