iOS-通过segue发送与发件人链接的变量

时间:2018-08-30 06:46:50

标签: ios swift segue

通过使用循环,我以编程方式创建了一堆UIButton。这些中的每一个都会触发到另一个View Controller的相同选择,该View Controller应该显示一些与按钮有关的信息。

为此,我需要发送至少一个链接到通过segue轻击的特定按钮的属性/变量。

我尝试的一个选项是创建一个新的UIButton类来保存属性。

class statButton: UIButton {
    var buttonIndex = Int()
}

如果这行得通,我将如何在此处访问该数据:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "StatDetailSegue" {
        if let destinationVC = segue.destination as? StatDetailViewController {
            destinationVC.statTitle = //  need to access here
        }
    }
}

我需要发送的变量是字典中的值

1 个答案:

答案 0 :(得分:0)

您必须确保发件人是statButton,然后将其buttonIndex属性转换为适当的字符串:

if let destinationVC = segue.destination as? StatDetailViewController, 
   let index = (sender as? statButton).buttonIndex {
        destinationVC.statTitle = String(index) //this is supposing that destinationVC.statTitle expects a String
}

PS :在Swift中,convention的类名带有大写的首字母:

class statButton: UIButton { ... }