我正在将User
个对象传递给另一个segue。无论出于何种原因,我都可以打印出对象并查看控制台中的所有信息。我甚至可以打开数据,但当我将数据插入插座时,它会崩溃。
var user : User? {
didSet {
if let name = user?.name {
print(name)
nameLabel.text = name
}
}
}
答案 0 :(得分:1)
如果您要设置某个其他控制器的值且未加载ChatVC
,那么nameLabel
为nil
,您可以通过检查nil
来防止崩溃。
var user : User? {
didSet {
if let name = user?.name {
print(name)
if nameLabel != nil {
nameLabel.text = name
}
}
}
}
此外,如果您设置nameLabel
已创建ChatVC
实例的地方,那么您需要在Label
viewDidLoad
中设置ChatVC
文字。像这样。
override func viewDidLoad() {
super.viewDidLoad()
nameLabel.text = user?.name
}