2016-05-23 3 views
0

Ich möchte einen neuen ViewController (Storyboard-ID: TaskDetailsVC) anzeigen, wenn eine Zelle aus meiner TableView ausgewählt ist. Das ist mein Tableview-Code:Ich kann keinen anderen ViewController anzeigen, wenn die TableView-Zelle ausgewählt ist

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 
    displayTask.deselectRowAtIndexPath(indexPath, animated: true) 
    let row = Tasks.sharedInstance.datas[indexPath.row] 
    print(row) 
    let TaskDetailsVC = self.storyboard!.instantiateViewControllerWithIdentifier("TaskDetailsVC") as! TaskDetailsViewController 
    self.navigationController!.pushViewController(TaskDetailsVC, animated: true) 
} 

ich einen Pfeil auf der rechten Ecke jeder Zeile sehen können, aber es passiert nichts, wenn ich auf die Zelle klicken. Wie kann ich es reparieren?

Mein Viewcontroller Code hier https://codeshare.io/C4uNh

+1

Wird diese 'didSelectRowAtIndexPath'-Funktion aufgerufen, wenn Sie auf die Zelle tippen? Ist der Delegat der Tabellenansicht festgelegt? – rmaddy

+0

Setzen Sie einen Haltepunkt innerhalb Ihrer 'didSelectRowAtIndexPath'-Funktion und überprüfen Sie, ob er aufgerufen wurde? –

+1

Überprüfen Sie Ihre derzeitigen Controller Eltern Klasse/Super Klasse ist UINavigationController oder nicht? –

Antwort

0

add in Ihrer viewDidLoad Methode folgende Zeile

displayTask.delegate = self 
0

ich thinnk dass Ihre Stellvertretung nicht gesetzt ist gefunden !! rechts in Storyboard klicken und sehen, dass es gesetzt ist oder nicht oder kann Ihr IBOutlet nicht gesetzt ist proparly

0

Fügen Sie die folgende: -

displayTask.delegate = self 

delegate missing

Verwandte Themen