2016-07-23 2 views
1

Ich versuche, Daten von meinem UITableView zu einem UIViewController zu übergeben, um mehr Details anzuzeigen.Übergeben von Daten mit dem Übergang von UITableView zu UIViewController

Ich habe eine segue push depricated erstellt und die entsprechende Kennung festgelegt.

Nach dem Ausführen passiert nichts. Kein Absturz, ich habe versucht, Druckmethoden zu erstellen, und nichts wird aufgerufen, wenn ich auf eine Zelle klicke.

Ich habe versucht, zu sehen, ob es einen Wert in meinen Zeichenfolgen gibt, um mit Druckanweisungen zu gehen, und ich hörte nicht von meinen Druckanweisungen zurück.

Auch wenn es keine Daten gibt, sollte die App zumindest abstürzen, wenn ich auf eine Zelle klicke. Aber das tut es nicht.

Ich habe versucht mit verschiedenen Segmenten wie show und Sachen, aber das hat nicht den Trick gemacht.

Fehle ich etwas aus meinem Code?

SOLUTION

fand ich die Lösung.

So verstehe ich, wie das funktioniert. Der Code, den ich oben habe, übergibt die Daten, aber es geht nicht zum nächsten Viewcontroller.

Um dieses Problem zu lösen, habe ich die didelectRowAtIndexPath-Methode verwendet und meine Strings festgelegt.

Unten ist mein vollständiger Arbeitscode.

Überschreibung func Tableview (Tableview: UITableView, DidSelectRowAtIndexPath indexPath: NSIndexPath) {

contentTitle = "Some title" //contentTitle is a global variable 

    tableView.deselectRowAtIndexPath(indexPath, animated: true) 
    let row = indexPath.row 
    performSegueWithIdentifier("PassData", sender: row) 

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

    if segue.identifier == "PassData" { 

     let vc = segue.destinationViewController as! ToDoListDetailViewController 
     vc.titleString = contentTitle //setting the titleString created from my ToDoListDetailViewController and setting it to contentTitle 

    } 

} 
+0

Das erste, was Sie ausprobieren sollten, ist, ob "userList [userList.count - customIndexPath! .row - 1] .Title" irgendeinen Wert hat. Setzen Sie eine Druckanweisung, nachdem Sie die VC-Variablen festgelegt haben, und sehen Sie, was passiert. Stellen Sie auch sicher, dass Ihre Überleitungsidentifizierung korrekt ist –

+0

@The_Curry_Man Ich tat das und ich hörte nicht von meiner Druckanweisung zurück. Auch wenn es keinen Wert in meiner Benutzerliste gibt, sollte es zumindest abstürzen, aber ich es nicht. –

Antwort

1

Von dem, was ich vermute, Sie haben nicht programmatisch geschoben Ihre segue.

Nehmen Sie einen Hinweis von here, haben Sie den Übergang von Ihrer didSelectRowAtIndexPath-Methode?

+0

Ich habe ursprünglich versucht, das Segment zu schieben, aber der richtige Weg ist es, das Segment zu zeigen. Aber das hat auch nicht funktioniert. –

+0

Das ist in Ordnung, aber haben Sie es manuell von Ihnen didSelectRowAtIndexPath Methode gemacht? –

+0

hmm, nein das habe ich eigentlich nicht. Ich melde mich bei Ihnen, wenn ich die Chance habe, versuchen Sie es –