@IBOutlet weak var groupNameTF: UITextField!
var group: Group? {
didSet {
groupNameTF.text = group?.name
}
}
无法理解这里可选的问题。正如我从日志中看到的那样,group
不是nil
。因为我认为我做了安全的价值展开。我还检查了if let
构造,结果相同。
答案 0 :(得分:4)
最有可能发生这种情况,因为groupNameTF
为零。一个快速的解决方法是使用if:
var group: Group? {
didSet {
if groupNameTF != nil {
groupNameTF.text = group?.name
}
}
}
答案 1 :(得分:4)
var group: Group? {
didSet {
groupNameTF?.text = group?.name
}
}
在表达式的左侧使用可选链接。如果groupNameTF
是nil
,则不会调用text
setter方法。