我无法将数据从ViewController传递到NewVC - 另一个UIViewController。我被困在这里几个小时没有结果,所以这是我解决这个问题的最后手段。
对于不足的想法:
我的ViewController代码
class ViewController: UIViewController{
@IBOutlet weak var name: UITextField!
@IBOutlet weak var lastName: UITextField!
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
switch segue.identifier {
case "seg_One"? :
if let source = segue.source as? ViewController
,let destination = segue.destination as? NewVC {
destination.name.text = source.name.text //Error
destination.lastName.text = source.lastName.text //Error
}
default: break
}
}
// Bunch of other code such as ViewDidLoad()
}
NewVC代码:
class NewVC: UIViewController {
@IBOutlet weak var name: UILabel!
@IBOutlet weak var lastName: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
}
错误是:致命错误:在打开时意外发现nil 可选值
答案 0 :(得分:0)
更改如下
class NewVC: UIViewController {
var strName: String?
var strLastName: String?
@IBOutlet weak var name: UILabel!
@IBOutlet weak var lastName: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
self.name = self.strName
self.lastName = self.strLastName
}
}
分配segue如下
destination.strName = source.name.text
destination.strLastName= source.lastName.text