我有一个输入UITextField
,想更改他的值。
我这样定义UITextField
:
@IBOutlet weak var valueInput: UITextField!
比起viewDidLoad()
,我得到了delegate
-self
:
valueInput?.delegate = self
然后在viewDidLoad
中,我尝试为输入赋值,如下所示:
if let priceIn = self.valueIn Input {
valueIn.text! = strPr // (this is var and it has String format I've checked it, and I also try to make print(strPr) and I get a value)
}
不幸的是,该字符串不起作用:
valueIn.text! = strPr
但是如果我写这样的东西
valueIn.text! = "11"
这将起作用。
我也尝试过类似的操作,但是它也不起作用:
valueIn.text! = "\(strPr)"
有人有什么想法吗?
感谢您的回答,希望有人遇到同样的问题并知道如何解决。
答案 0 :(得分:0)
这些行是错误的:
valueIn.text! = strPr
valueIn.text! = "11"
valueIn.text!
仅应出现在右侧,以防万一您确定valueIn引用了有效的对象(不是nil)并且文本被声明为var text: String?
不确定确切地如何声明变量,但请尝试如下操作:
valueIn.text = "11"
或者,如果strPtr是可选的,请尝试以下操作:
if let strPr = strPr {
valueIn.text = strPr
print("New valueIn.text: \(valueIn.text!)")
}