Cómo orderar los resultados de un NSFetchedResultsController utilizando el order de un NSOrdenetworkingSet

NSOrdenetworkingSets guarda el order de los objects en la tabla. Si accede a una instancia de subclass NSManagedObject con una propiedad que es un NSOrdenetworkingSet, estarán en order.

Sin embargo, aparentemente no hay manera de acceder a ese pedido utilizando un NSSortDescriptor al crear una NSFetchRequest.

Aparece desde el DB de SQLite sin procesar, ese pedido se almacena en los campos denominados Z_FOK_<relationship name> . Los datos están disponibles, pero no parece ser visible a través de las API de datos centrales.

¿Alguien sabe una forma de escribir un NSSortDescriptor que funcione con un DB SQLite para devolver los resultados en el order especificado por el NSOrdenetworkingSet?


Actualizar

Pregunta relacionada: relaciones NSFetchedResultsController y NSOrdenetworkingSet

No creo que eso sea posible. El "orderamiento" está asociado con la relación entre muchos de una entidad A a otra entidad B , no es una propiedad de la entidad objective B Pero un descriptor de orderación para una request de obtención de datos del Núcleo solo puede usar properties (persistentes) de la entidad.

He intentado esto rápido ahora y parecía funcionar para mí.

 var sectionsExcludingEmpty: [SurveyAnswerSection] { let fetchRequest: NSFetchRequest<SurveyAnswerSection> = NSFetchRequest.init(entityName: "SurveyAnswerSection") fetchRequest.pnetworkingicate = NSPnetworkingicate.init(format: "surveyAnswer == %@ AND hidden == FALSE", self) fetchRequest.sortDescriptors = [ NSSortDescriptor(key: "surveyAnswer", ascending: true) ] if let moc = self.managedObjectContext { do { let results = try moc.fetch(fetchRequest) return results } catch { fatalError("Could not get sectionsExcludingEmpty: \(error)") } } else { fatalError("Unable to get own managed object context") } } 

Cuando me perdí la línea fetchRequest.sortDescriptors = [ NSSortDescriptor(key: "surveyAnswer", ascending: true) ] orderó aparentemente random, pero con la línea agregada se orderó como se esperaba.

En mi caso SurveyAnswerSection tiene una relación orderada-múltiple con SurveyAnswer.