Ich versuche, eine einzelne Entität aus einem Array von NSManagedObjects var journals = [NSManagedObject]()
zu nehmen und auf einer Detailseite anzuzeigen. Ich mache zur Zeit, dass durch eine Variable auf den Ziel-Controller deklarieren, wenn ein Übergang von einer didSelectRow Aktion vorbereitet:Wert des Typs NSManagedObject kann nicht dem Typ 'Journal' (eine Entität) zugewiesen werden
let indexPath = tableView.indexPath(for: (sender as! UITableViewCell))
controller.journalToDisplay = journals[indexPath!.row]
Im Display-Controller Ich habe nicht viel noch eingerichtet, gerade diese delaration:
var journalToDisplay: Journal?
die werfen den Fehler:
Cannot assign value of type 'NSManagedObject' to type 'Journal?'
Ist das nicht nur ein Journal NSManagedObject ohnehin in diesem Fall? Ich versuchte mit etwas wie:
var journalToDisplay: NSManagedObject as! Journal
Aber das scheint nicht der richtige Weg zu sein.
Welches ist die Zeile, die den Fehler verursacht? Wo deklarieren Sie journalToDisplay oder instanziieren Sie es? Wenn es sich um die Instanziierung handelt, müssen Sie die Journale [indexPath! .row] nur explizit als Journal-Objekt darstellen. Meine Vermutung ist, dass es sich nur um ein Array handelt, und xcode kann nicht garantieren, dass der Objekttyp von einem Index-Accessor aus einem Array kommt, da Sie in Swift Objekte verschiedener Typen in demselben Array speichern können. –
Ist 'Journal' eine Unterklasse von' NSManagedObject'? –
Sie nehmen die Hilfe von diesem Link http://stackoverflow.com/questions/2604940/what-is-the-entity-for-my-nsmanagedobject –