通过segue快速传递变量

时间:2019-11-09 07:11:33

标签: swift segue

我正在使用segue在xcode应用程序中打开一个新窗口。 提示是正确的,当我点击按钮时,将显示新窗口。 我想将一个字符串变量从FirstViewController传递给DetailViewController,但无法在DetailViewController中设置该变量。 这是FirstViewController中的代码:

if control == view.rightCalloutAccessoryView {

            func prepare(for segue: UIStoryboardSegue, sender: Any?) {
                        let controller = segue.destination as! DetailViewController
                        controller.Name = "test"
            }

            performSegue(withIdentifier: "showdetail", sender: self)
           }

这是DetailViewController代码

class DetailViewController: UIViewController, WKNavigationDelegate {
    var Name: String = ""
     override func viewDidLoad() {
      super.viewDidLoad()
      print(Name)
    }
}

我在哪里做错了?

1 个答案:

答案 0 :(得分:2)

方法prepare(for必须在类的顶层。

请根据准则命名变量,并以小写字母开头

func someMethod()
{
    if control == view.rightCalloutAccessoryView {
       performSegue(withIdentifier: "showdetail", sender: self)
    }
}

func prepare(for segue: UIStoryboardSegue, sender: Any?) {
   let controller = segue.destination as! DetailViewController
       controller.name = "test"
   }
}