Ios Can';t更改Swift 4.2中的输入值

Ios Can';t更改Swift 4.2中的输入值,ios,swift,swift4.2,xcode10.1,Ios,Swift,Swift4.2,Xcode10.1,我有一个输入UITextField,想更改他的值 我这样定义了这个UITextField: @IBOutlet weak var valueInput: UITextField! 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) a

我有一个输入
UITextField
,想更改他的值

我这样定义了这个
UITextField

@IBOutlet weak var valueInput: UITextField!
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 = "11"
viewdiload()
I使
delegate
-
self

valueInput?.delegate = self
然后在
viewdiload
中,我尝试像这样为输入赋值:

@IBOutlet weak var valueInput: UITextField!
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 = "11"
很遗憾,此字符串不起作用:

valueIn.text! = strPr
但是如果我写这样的东西

valueIn.text! = "11"
这个可以用

我也尝试过这样做,但也不起作用:

valueIn.text! = "\(strPr)"
有人有什么想法吗

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

这些行是错误的:

valueIn.text! = strPr
valueIn.text! = "11"
valueIn.textvar text:String?

不确定变量是如何声明的,但请尝试以下方法:

@IBOutlet weak var valueInput: UITextField!
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 = "11"
或者,如果strPtr是可选的,请尝试以下操作:

if let strPr = strPr {
  valueIn.text = strPr
  print("New valueIn.text: \(valueIn.text!)")
}

你说的“它不起作用”是什么意思?您是否遇到编译时错误?
valueIn
的类型是什么?
self.valueIn Input
-它到底是什么意思?Swift无效。显示声明和填充
strp
的代码–顺便说一句,请使用更具描述性的变量名。我想这是一个时间/异步问题。如果您的意思是
if let pricin=self.valueInput
,则此可选绑定毫无意义,因为在调用
viewDidLoad
之前插座已可靠连接。在
valueIn.text!=strp
删除此行
如果let pricin=self.valueIn Input{
我在第一行有一个错误,它说“条件绑定的初始值设定项必须具有可选类型,而不是'String'”@VitaliyMckay删除if let strPtr=strPtr{和last},然后