Я так не думаю, потому что NSFetchedResultsController
не будет знать, какой Kit
использовать для сортировки Part
s, так как это отношение многие-многие.
Подумайте о древовидном представлении или даже о структуре наследования Objective-C, где каждый дочерний узел имеет ровно одного родителя, но сам по себе может иметь много дочерних узлов. Вы можете легко восстановить дерево от дочернего узла до его родительского узла. Но если бы у ребенка могло быть много родителей, он по сути не знал бы, какого родителя выбрать при повторном подборе «дерева» (которое больше похоже на график).
Итак, в вашей модели данных у Part
s должно быть много Kit
s? Потому что если вы измените отношение «многие-многие» между Kit
и Part
на отношение «ко-многим», где у Kit
может быть много Part
с, а у Part
может быть только один комплект, то вы можно установить sectionNameKeyPath
для NSFetchedResultsController
в @"kit.source.name"
для сортировки по имени, и все будет работать нормально.
Конечно, я не знаю точно, как работает ваше приложение, если вам действительно нужно много-много отношений между Kit
и Part
, но если вы это сделаете, то вы, вероятно, не сможете использовать NSFetchedResultsController
, и должен был бы реализовать выборку Source
s и реализацию UITableViewDataSource
методов самостоятельно: (