Ich versuche, ein Array zu sortieren (vociMenu: NSSet) innerhalb eines Unternehmens, aber ich habe diesen Fehler:Kerndaten der Bestellung eines Subarray NSSet
'NSInvalidArgumentException', reason: 'to-many key not allowed here'
dies ist mein Code: ENTITY
extension SezioniMenu {
@nonobjc public class func fetchRequest() -> NSFetchRequest<SezioniMenu> {
return NSFetchRequest<SezioniMenu>(entityName: "SezioniMenu");
}
@NSManaged public var sezione: String?
@NSManaged public var language: Language?
@NSManaged public var vociMenu: NSSet? <---- /// I MUST ORDER THIS ENTITY
}
QUERY
let fetchRequest: NSFetchRequest<SezioniMenu> = SezioniMenu.fetchRequest()
fetchRequest.returnsObjectsAsFaults = false
let sortDescriptor = NSSortDescriptor(key: "vociMenu.tipologia", ascending: true)
let sortDescriptors = [sortDescriptor]
let predicate = NSPredicate(format: "language.code = %@", Singleton.sharedInstance.linguaDispositivo)
fetchRequest.predicate = predicate
fetchRequest.sortDescriptors = sortDescriptors
do {
array = try self.managedObjectContext.fetch(fetchRequest)
.....
Wie kann ich die Entität "vociMenu: NSSet" bestellen?
Danke für Ihre Hilfe
UPDATE
ich es geschafft, meine Situation auf diese Weise zu lösen. Sortieren Sie die Liste direkt in den Delegierten des Tableview auf diese Weise:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell : CustomTableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell") as! CustomTableViewCell
///For each section retrieve the list to order
let list = self.listSezioni?[indexPath.section].vociMenu?.allObjects as! [VociMenu]
///I run the sort (sort) of the items
var listSort = list.sorted(by: { $0.tipologia! < $1.tipologia! })
cell.labelMenu.text = listSort[indexPath.row].tipologia
}
was Art vociMenu.tipologia Feld ist zu sortieren aufsteigend? –
vociMenu.tipologia ist String – Diego