Я делаю mock-пульт дистанционного управления Iphone-приложением, используя swift, и Xcode не позволяет мне использовать .toInt() в тексте UILabel. Я пытаюсь преобразовать текст с метки в целое число, и я не уверен, как это сделать. Кто-нибудь может мне помочь? Благодарю.Почему я не могу использовать .toInt() для строки в swift?
Вот мой код:
@IBAction func channelInc(_ sender: UIButton) {
var chnl = channel.text!.toInt()
if (chnl!+1 > 99) {
} else {
let newChnl = chnl!+1
channel.text = "\(String(newChnl))"
}
}
Это исправило ошибку компилятора, но теперь она дает мне ошибку времени выполнения, потому что она берет адрес строки в памяти (а не целое число, которое находится внутри строки), преобразовывая это в integer, а затем пытается добавить к нему. Вы знаете, как преобразовать число, которое находится внутри строки, в целое число? – xxx3223
Это не должно происходить вообще. Не могли бы вы показать результат этого? И обновленный код. Этот инициализатор инициализации был фактически создан для этой конкретной цели в swift 2. Вы должны сделать 'let chnl = Int (channel.text!)'. Является ли 'channel' текстовым полем или чем-то подобным? Канал –
- это UILabel. Эта функция - действие, привязанное к кнопке, которая должна увеличивать канал. При нажатии на кнопку, следующее сообщение об ошибке появляется: – xxx3223