Как уменьшить значение шага в другой функции? - PullRequest
0 голосов
/ 22 июня 2019

прости беспорядок;Я могу получить дополнительный код от попыток сделать это, используя примеры, которые я нашел здесь, но ни один из них, похоже, не работает.

У меня есть степпер

@IBOutlet weak var turnsRemaining: UILabel! @IBOutlet weak var turnStepper: UIStepper!\

У меня есть следующие функции:

@IBAction func turnStepperChanged(_ sender: UIStepper) { turnsRemaining.text = Int(sender.value).description }

Что я хочу, чтобынажмите кнопку с названием «leftRight», затем вызовет функцию (которая у меня работает), но я хочу добавить к этой функции, что значение степпера уменьшается на единицу.

Я попытался добавить следующую строку в код как часть функции (отличной от функции, указанной выше):

turnStepper.value = turnsRemaining.text -1

Ответы [ 2 ]

0 голосов
/ 22 июня 2019

Вот в чем проблема:

@IBAction func turnStepperChanged(_ sender: UIStepper) {
    turnsRemaining.text = Int(sender.value).description
}

Это не просто способ превратить Дабл в Строку.Дело в том, что вы напрямую переходите от значения шагового перехода к тексту метки.

Контроллер вида модели.Степпер вид .Метка вид .Ни один из них не является источником истины.Вам нужно свойство, которое играет эту роль.Всегда должно быть свойство экземпляра, поддерживающее это значение.Когда он изменяется, степпер и метка изменяются в соответствии.

Как только у вас есть это, любой код может просто обратиться и изменить это свойство, чтобы изменить степпер и метку вместе, сохраняя их всегда синхронизированными.

0 голосов
/ 22 июня 2019

Попробуйте преобразовать ваш 'turnRemaning.text' в двойное число:

turnStepper.value = Double(turnsRemaining.text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...