2016-03-29 5 views
-1

ich versuche zu Zelle Tag-Daten zu einem anderen Viewcontroller der VariablenPassing Daten von tableviewcell zu einem anderen Viewcontroller

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


     let currentCell = tableView.cellForRowAtIndexPath(indexPath) as UITableViewCell! 
     print(currentCell.tag) 
     valueToPass = currentCell.tag 


    } 


    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 


     let Dest = segue.destinationViewController as! EventDetail 

     if (segue.identifier == "eDetay") { 

     Dest.eventid = String(valueToPass) 
     } 

    } 

passieren Wenn ich versuche, wie es ist, valueToPass immer die vorherigen Daten übergeben.

Gibt es eine Möglichkeit, ausgewählte Zelldaten von prepareForSegue zu erhalten?

Was ist der beste Weg, das zu tun?

+0

Können Sie Ihre UITableView Datasource-Methode teilen? – iMuzahid

Antwort

1

Sie überschreiben den Parameter indexPath, der an Sie übergeben wird.

Entfernen Sie die erste let-Anweisung. Verwenden Sie den indexPath, der an Sie übergeben wird.

+0

Ja, ich habe es entfernt, kann aber immer noch nicht die aktuellen Daten weitergeben –

+0

Hat das Entfernen dieser Hilfe überhaupt funktioniert? Oder macht es genau dasselbe? –

+0

Genau dasselbe –

0

func Tableview (Tableview: UITableView !, DidSelectRowAtIndexPath indexPath: NSIndexPath)

{ lassen cell = tableView.cellForRowAtIndexPath (indexPath) als YourCell

//cell.value, cell.text, Zelle .randomValue oder was auch immer Sie brauchen }