NSFetchedResultsController, отсортированный по соотношению один-ко-многим - PullRequest
0 голосов
/ 14 февраля 2012

У меня есть три типа объектов в CoreData; ObjectA, ObjectB и ObjectC. Эти объекты связаны с отношениями один-ко-многим, как это:

[ObjectA]--E[ObjectB]--E[ObjectC]

Я пытаюсь создать NSFetchedResultsController, сгруппированный по свойству в ObjectA и отсортированный по свойству в ObjectC.

Как сортировка должна работать: - в ObjectC есть свойство date; последнее обновление. ObjectA будет иметь подключение к нескольким ObjectC, и тем самым несколько последних обновлений. - Мой NSFetchedResultsController будет отображать ObjectA, отсортированный по данным lastUpdated. - ObjectA с самым последним обновленным ObjectC должен появиться первым. - Меня просто интересует ObjectC объекта ObjectA с самым последним значением lastUpdated.

Возможно ли это с NSFetchedResultsController и CoreData?

Я предполагаю, что альтернативой является создание NSFetchedProperty для ObjectA, ссылающегося на ObjectC, но это, возможно, не будет лучшим решением.

1 Ответ

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

Вы не сможете сделать это с одним NSFetchRequest.Вы можете приблизиться, используя NSExpression s и setPropertiesToFetch:, но не совсем, так как вы не можете вкладывать операторы сбора в кодирование ключ-значение.

Лучше всего будет сделать NSFetchedProperty наObjectA, который получает связанный (через ObjectB) ObjectC с самым последним lastUpdated.И для реализации этого вам лучше всего сделать NSFetchedProperty на ObjectB , который получит связанный ObjectC с самым последним lastUpdated.

...