Ich stoße auf Probleme mit meinen UITableViewCells. Ich habe meine UITableView mit einer API verbunden, um meine Zellen zu füllen.Schieb den Übergang von UITableViewCell zu ViewController in Swift
Dann habe ich eine Funktion erstellt, die indexPath.row
ergreift, um zu identifizieren, welches JSON-Objekt innerhalb des Arrays, das an die RestaurantViewController
gesendet werden soll.
Link to my Xcode Project for easier debugging and problem-solving
Hier ist, wie mein kleiner Ausschnitt schaut auf eine globale Variable, die "row-Klicks" für die Einstellung.
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
i = indexPath.row
}
Und hier ist meine prepareForSegue()
Funktion, die meinen Push-segue zum RestaurantViewController
anschließen sollte.
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if segue.identifier == "toRestaurant"{
let navigationController = segue.destinationViewController as UINavigationController
let vc = navigationController.topViewController as RestaurantViewController
vc.data = currentResponse[i] as NSArray
}
}
Und so habe ich meine segue aus dem Hier
UITableViewCell
aufgebaut ist mein Ergebnis habe ich versucht, jede einzelne dieser Zellen zu klicken, aber ich werde nicht verschoben werden ein anderer ViewController ... Ich bekomme auch keinen Fehler. Was ist hier falsch?
Versuchte Lösungen, die nicht funktionieren
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if segue.identifier == "toRestaurant"{
let vc = segue.destinationViewController as RestaurantViewController
//let vc = navigationController.topViewController as RestaurantViewController
vc.data = currentResponse[i] as NSArray
}
}
Ist der Fehler nicht von der Zeile gekommen: Lassen Sie navigationController = segue.destinationViewController als UINavigationController? Ich denke, der destinationController ist kein navigationController, sondern der uiviewcontroller selbst. –
@ DánielNagy Ich habe auskommentiert '' vc = navigationController.topViewController als RestaurantViewController'' und editiere die Zeile oben, um "RestaurantViewController" zu haben. Kompiliert und ausgeführt, keine Fehler, keine Antwort vom Klicken auf die Zellen. – Jack
Ich habe gerade überprüft, dass das Push-Segment veraltet ist, ich bin mir nicht sicher, aber was ist, wenn Sie das in Show (z. B. Push) ändern? –