将文本字段的值传递给标签的快捷键
问题描述:
我有一个文本字段,我希望它隐藏并显示何时按下按钮,并且我还希望将文本字段中的文本传递给文本字段下方的标签。我尝试这样做:将文本字段的值传递给标签的快捷键
@IBAction func myfunction(_ sender: UIButton) {
if textfield.isHidden == true{
textfield.isHidden = false
}else{
label.text = textfield.text
textfield.isHidden = true
}
}
显然,hidding和显示部分工作,但该行
label.text = textfield.text
不是。我得到这样的错误“线程1:EXC_BREAKPOINT(代码= 1,子代码= 0x10143fb50”,并在控制台中我有“致命错误:意外地发现零,同时解包可选值”
有人可以帮我请
答
根据你的错误,看来你尝试用这条线影响label.text = textfield.text
从文本框的文本标签,但问题是,你的TextField.text为零。
这就是为什么你有错误意外发现零,同时展开一个可选值
您的文本字段是可选的。它可以有一个值或零。如果你试图解开一个可选的值,那么你有这种错误。 这里的解决方案是安全解开与可选可选值绑定这样的:
if let textInput = textfield.text {
//There is a text in your textfield so we get it and put it on the label
label.text = textInput
} else {
//textfield is nil so we can't put it on the label
print("textfield is nil")
}
答
下面是一个简单的代码,你可以尝试。无合并运营商(a ?? b)展开可选的a。如果它包含一个值,或者返回一个默认值b if a为零。
@IBAction func myfunction(_ sender: UIButton) {
label.text = textfield.text ?? ""
}
的可能的复制[什么是“致命的错误:零而展开的可选值意外地发现”呢?(https://stackoverflow.com/questions/32170456/what-does-fatal-error-unexpectedly -found-NIL-而-解包-AN-可选-VALU) – Shades