Ich habe zwei View-Controller. Der zweite Ansichtscontroller hostet eine Tabellenansicht mit einer benutzerdefinierten Zelle, die zurück zum ersten Ansichtscontroller geleitet wird und die mit dieser Zelle verknüpften Daten zurücksendet.Swift - Unwind segue gibt Nullwert zurück?
In der zweiten Ansicht Controller-Klasse habe ich didSelectRowAtIndexPath implementiert und getestet, um zu sehen, ob das richtige Element in einer Klasseneigenschaft gespeichert ist. Der optionale Wert wird korrekt gespeichert. Wenn ich jedoch versuche, diesen Wert im ersten Ansichtscontroller zu verwenden, gibt die Eigenschaft nil an die Konsole aus.
// First view controller
@IBAction func unwindActivitiesVCCellTapped(segue: UIStoryboardSegue)
{
// table view cell tapped
guard let activitiesVC = segue.sourceViewController as? ActivitiesVC else { return }
print(activitiesVC.activityPerforming) // Displays nil in console output
if let activityPerforming = activitiesVC.activityPerforming // thus this does not get called
{
activityPerformingButton.titleLabel?.text = activityPerforming
}
}
// Second View Controller
class ActivitiesVC: UIViewController
{
@IBOutlet weak var activitiesTableView: UITableView!
let activityTitles = [ "Walk" , "Run ", "Cycle", "Mountain Bike" ]
var activityPerforming: String?
override func viewDidLoad()
{
super.viewDidLoad()
activitiesTableView.dataSource = self
activitiesTableView.delegate = self
}
}
extension ActivitiesVC: UITableViewDelegate
{
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{
activityPerforming = activityTitles[ indexPath.row ]
print(activityPerfoming) // displays optional value I want
}
}
// Custom Cell
class ActivityCell: UITableViewCell
{
@IBOutlet weak var imageLabel : UILabel!
@IBOutlet weak var activityLabel : UILabel!
override func awakeFromNib()
{
super.awakeFromNib()
// Initialization code
}
override func setSelected(selected: Bool, animated: Bool)
{
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
Was ist der Grund für die Eigenschaft erscheint als Null und was kann ich tun, um diese Situation zu beheben?
Genau das, was das Problem behoben. Ich weiß es sehr zu schätzen! – lifewithelliott
Gern geschehen! Es freut mich, dass ich helfen konnte. – vacawama