Ich habe Code geschrieben, der Ereignisse aus Core Data filtert und nur die Ereignisse ausgibt, die ein Datumsattribut haben, das einem Datum entspricht, das in einem Kalender ausgewählt wurde. Heres der Code:Anzeigen von Daten in einer Tabellenansicht aus einem gefilterten Array
Dies funktioniert und es, dass die Daten filtert, wie ich möchte und druckt nur die Ereignisse, die ich will. Das Problem ist, dass ich nicht weiß, wie diese Daten in der TableView angezeigt werden. Normalerweise kann ich alle Daten von Core Data in der Tableview wie dies in cellForRowAtIndexPath anzuzeigen ...
let ePast = eventsPast[indexPath.row]
let cellPast = self.tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! CustomCell
// Sets labels in cell to whatever user typed in on the events page
cellPast.titlePrototypeCell!.text = ePast.eventPastTitle!
cellPast.datePrototypeCell!.text = "Date: " + ePast.eventPastDateLabel!
return cellPast
... aber ich bin nicht sicher, wie die neuen Daten als Array zuzugreifen, wie ich oben tat. Irgendwelche Ideen?
Das ist Swift! Verwenden Sie native Swift-Funktionen wie 'filter' und nicht 'NSArray' und' NSPredate'. Weisen Sie das Ergebnis der Filteroperation dem Datenquellenarray zu. – vadian
Wenn Sie die Chance haben, könnten Sie vielleicht ein Beispiel geben? Ich habe überall nachgesehen und dies ist der einzige Weg, der mit Core Data zu arbeiten scheint. –
Der beste Weg, um gefilterte Daten von Core Data zu erhalten, ist ein Prädikat, das einer Abrufanforderung zugewiesen ist. Es gibt Tausende von Beispielen hier auf SO sowie Beispielcode in der Core Data-Dokumentation, wie man das macht. – vadian