Допустим, у меня есть две сущности, сотрудник и отдел.У отдела есть множество отношений с сотрудником, в каждом отделе может быть много сотрудников, но каждый сотрудник принадлежит только одному отделу.Я хочу отобразить всех сотрудников в табличном представлении, отсортированном по данным, которые являются свойством отдела, которому они принадлежат с помощью NSFetchedResultsController.Проблема в том, что я хочу, чтобы моя таблица обновлялась, когда объект отдела получает изменения так же, как и при изменении обычных свойств сотрудника, но FetchedResultsController, похоже, не отслеживает связанные объекты.Я частично обошел эту проблему, выполнив следующее:
for (Employee* employee in department.employees) {
[employee willChangeValueForKey:@"dept"];
}
/* Make Changes to department object */
for (Employee* employee in department.employees) {
[employee didChangeValueForKey:@"dept"];
}
Это, очевидно, не идеально, но это вызывает вызываемый служащим метод делегата FRC didChangeObject.Реальная проблема, которую я оставил сейчас, заключается в сортировке FRC, который отслеживает объекты сотрудников:
NSEntityDescription *employee = [NSEntityDescription entityForName:@"Employee" inManagedObjectContext:self.managedObjectContext];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"department.someProperty" ascending:NO];
Это прекрасно работает и правильно сортирует сотрудников при первом вызове, проблема в том, что когда я делаю измененияс отделами какой-то собственности, которая должна изменить сортировку моей таблицы сотрудников, ничего не происходит.Есть ли хороший способ, чтобы мой сотрудник FRC отслеживал изменения в отношениях?В частности, мне просто нужен какой-то способ обновить сортировку, когда сортировка основана на связанном свойстве.Я просмотрел похожий вопрос, но не смог найти удовлетворительного решения.