2016-05-18 9 views
0

passieren habe ich eine Tableview wie diesesWie ausgewählte Zeilendaten an einem anderen Viewcontroller

enter image description here

ich den Link nehmen will und es an einem anderen Control passieren.

Hier ist, was ich habe

getan
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { 


    let linktopass = classes[indexPath.row].valueForKey("link") 
    print(linktopass) 


    func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     let thirdVC: web = segue.destinationViewController as! web 

     thirdVC.link = linktopass as! String 

Aber es funktioniert nicht.

Hier ist mein Druckausgabe.

Optional(http://blablabla) 
+0

helfen wird, was werden Sie immer in 'thirdVC.link '? – Lion

+0

var link = String() –

+0

Nein, was bekommen Sie, wenn Sie diese Aussage ausdrucken? – Lion

Antwort

1

Wenn Sie denken, Sie performsegue in didSelectRowAtIndexPath vergessen.

prepareForSegue wird vor Ihnen performsegue aufgerufen. Wenn Sie keine Überfahrt durchführen, wird Ihr prepareForSegue nicht angerufen.

so, in didSelectRowAtIndexPath, fügen Sie Code wie,

performSegueWithIdentifier("goToNextVC", sender: self) //your segue identifier here 
    //goToNextVC is segue identifier set from attribute inspector from storyboard 

Stellen Sie sicher, segue Kennung von gesetzt haben.

Sie Kennung festlegen, wie,

wählen segue - klicken Inspektor Attribut - schreiben Kennung in it - Presse

Hoffnung geben diese :)

Verwandte Themen