使用 segue 在 swift 中传递变量
Passing variable in swift with segue
我正在使用 segue 在 xcode 应用程序中打开一个新的 window。
segue 是正确的,当我点击按钮时,会显示新的 window 。
我想将一个字符串变量从 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)
}
}
我哪里做错了?
方法 prepare(for
必须在 class 的顶层。
并且请根据指南以小写字母开头的变量命名
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"
}
}
我正在使用 segue 在 xcode 应用程序中打开一个新的 window。 segue 是正确的,当我点击按钮时,会显示新的 window 。 我想将一个字符串变量从 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)
}
}
我哪里做错了?
方法 prepare(for
必须在 class 的顶层。
并且请根据指南以小写字母开头的变量命名
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"
}
}