-1

我有一个意见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)"

有人有想法么?

感谢您的任何回答,希望有人遇到同样的问题并知道如何解决。

4

1 回答 1

0

这些行是错误的:

valueIn.text! = strPr
valueIn.text! = "11"

valueIn.text!应该只出现在右侧,以防你确定 valueIn 引用了一个有效的对象(不是 nil)并且 text 被声明为var text: String?

不确定您的变量是如何声明的,但请尝试以下操作:

valueIn.text = "11"

或者,如果 strPtr 是可选的,试试这个:

if let strPr = strPr {
  valueIn.text = strPr
  print("New valueIn.text: \(valueIn.text!)")
}
于 2018-11-17T14:35:16.867 回答