我尝试通过准备(for segue)方法传递数据,但无法在ReceiverViewController中传递数据。我不知道我会更好地通过整个事件,不知道是否有可能。 我是Swift的新手,这是我的第一次尝试,任何建议都会受到欢迎。通过在多个控制器之间准备segue传递特定键/值
我想使用的类如下 - UserClass.swift:
class User {
var firstname: String
var lastname: String
var role: Int
init(firstname: String, lastname: String, role: Int) {
self.firstname = firstname
self.lastname = lastname
self.role = role
}
}
我对FirstViewController.swift
准备方法override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "loadBoard" {
if let dVC = segue.destination as? ReceiverViewController {
dVC.code?.firstname = anotherValue
//Following show me nil
print("Sent data \(dVC.code?.firstname)")
}
}
}
这里是我试图让数据 - ReceiverViewController .swift:
var code: User?
if let test = self.code?.firstname {
self.categoryLabel.text = code?.firstname
print(code)
} else {
print("Something wrong")
}
你在你的代码的某个地方初始化了'code'财产? – Kymer
传递整个实例。它应该工作。 –
在控制器之间传递数据并不困难,但可能有点令人困惑。 [这个例子](https://github.com/ryantxr/legendary-potato)展示了如何去做。 – ryantxr