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.text如果您确定valueIn引用了有效对象(而不是nil),并且文本声明为var 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},然后