Передача значения Stepper в другой контроллер представления - PullRequest
1 голос
/ 14 марта 2020

Довольно понятный код, моя проблема в том, что первая печать показывает правильное значение, но вторая печать всегда показывает 0. Я пытаюсь передать значение степпера моему следующему контроллеру представления (calcV C).

Редактировать: Забыл упомянуть, что моя проблема возникает, когда я нажимаю кнопку, которая вызывает переход к переходу в CalcV C, когда я теряю значение. Кроме того, этот код находится в TableViewCellV C, и моя задача развернуться - от TableViewV C до CalcV C, поэтому у меня возникла проблема с CalcV C.

Окончательное редактирование: исправлено путем создания глобальной переменной

    var stepperValue = 1


@IBAction func stepperValueChanged(_ sender: Any) {

    stepperValue = Int(stepper.value)

    print(stepperValue)

    stepperLabel.text = String(stepperValue)

    let CalcVC = CalculatorVC()

    stepperValue = CalcVC.calcVCStepperValue

    print(stepperValue)
}

1 Ответ

2 голосов
/ 14 марта 2020

Вам необходимо присвоить значение stepperValue для CalcVC.calcVCStepperValue. В данный момент вы просто создаете CalcVC, а затем распечатываете значение по умолчанию calcVCStepperValue.

let CalcVC = CalculatorVC()
CalcVC.calcVCStepperValue = stepperValue
stepperValue = CalcVC.calcVCStepperValue
print(stepperValue)

Если вы делаете это с segues, вы не можете создать новый экземпляр контроллера представления , Вместо этого вам нужно реализовать функцию prepareForSegue на контроллере вида, из которого вы раскручиваете, и использовать параметр segue для доступа к destinationViewController.

Для этого существует ответ на Передача данных с раскруткой sege

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...