私はこれを迅速に試しましたが、うまくいくようです。
var sectionsExcludingEmpty: [SurveyAnswerSection] {
let fetchRequest: NSFetchRequest<SurveyAnswerSection> = NSFetchRequest.init(entityName: "SurveyAnswerSection")
fetchRequest.predicate = NSPredicate.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")
}
}
行を逃したとき、fetchRequest.sortDescriptors = [ NSSortDescriptor(key: "surveyAnswer", ascending: true) ]
一見ランダムに並べられていましたが、行を追加すると、期待どおりに並べ替えられました。
私の場合、SurveyAnswerSection には、SurveyAnswer との一対多の関係があります。