Не удается изменить входное значение в Swift 4.2 - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть вход 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)"

У кого-нибудь есть идеи?

Спасибо за любой ответ, надеюсь, у кого-то возникла такая же проблема, и знаете, как ее решить.

1 Ответ

0 голосов
/ 17 ноября 2018

Эти строки неверны:

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

valueIn.text! должен появляться только с правой стороны, если вы уверены, что valueIn ссылается на действительный объект (не ноль), а текст объявлен как var text: String?

Не знаю точно, как объявлены ваши переменные, но попробуйте что-то вроде этого:

valueIn.text = "11"

Или, если strPtr является необязательным, попробуйте следующее:

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