Also erstelle ich einen Wecker. Ein View-Controller ist eine Tabellenansicht. Der andere View-Controller besteht aus einem UIDatePicker mit einer Submit-Schaltfläche. Das Ziel besteht darin, dass der Benutzer, wenn er auf die Schaltfläche Senden klickt, das Datum auf der Datumsauswahl speichert. Es speichert nicht nur das Datum, sondern auch den Tabellenansicht-Controller. Ich versuche, die gespeicherte Zeit als Etikett in der Zelle anzuzeigen.Eine Variable durch ein Segment übergeben? Xcode 8 Swift 3
Dies ist mein Code für den DatePicker View Controller. Ich habe die Variable außerhalb der Funktion definiert. Wenn sie dann auf "Senden" klicken, sollte sie den Wert aktualisieren. Es aktualisiert es jedoch nicht, wenn es durch das Segment geht.
var myDate = "1:39 PM" @IBAction func submitDate(_ sender: AnyObject) { myDate = DateFormatter.localizedString(from: dateOutlet.date, dateStyle: DateFormatter.Style.none, timeStyle: DateFormatter.Style.short) } override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if segue.identifier == "save" { let toViewController = segue.destination as! TableViewController toViewController.myDate = myDate } }
Dies ist mein Code für den Tabellenansicht-Controller. Wenn ich auf "Senden" klicke, wird die Bezeichnung nicht als die im DatePicker gewählte Zeit angezeigt. Es zeigt "1: 39 PM". So habe ich es ursprünglich definiert.
var myDate = "0" override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = Bundle.main.loadNibNamed("TableViewCell", owner: self, options: nil)?.first as! TableViewCell cell.textLabel?.text = myDate return cell }