Вы не можете так делать - вам не разрешено сортировать отношения Core Data с помощью блоков сортировки. Если вы хотите получить алфавитный порядок, вы можете сделать это с помощью:
NSSortDescriptor(key: [KEY NAME], ascending: true, selector: #selector(NSString.caseInsensitiveCompare))
Если вы хотите sh сделать за один выбор , то вы должны убедиться, что объекты Core Data уже отсортированы, когда вы сохраняете их - используя упорядоченные отношения (вы можете прочитать больше об этом здесь ). Поэтому, когда вы выбираете родительский объект, дочерний объект, связанный с отношением NSOrderedSet, уже отсортирован в соответствии с вашими желаниями.
Просто для быстрого примера:
//Create context, create objects in context
let someChildsObject: [NSManagedObject] = //.. Objects with name property
someChildsObject.sorted(by: { $0.name > $1.name }) //Sorting according to name value
parent.children = NSOrderedSet(array: someChildsObject)
//Save context
При этом данные будут уже отсортированы в базе данных.