Подготовка к функции segue без загрузки новых значений - PullRequest
0 голосов
/ 10 сентября 2018

Атрибут statValue моего класса UIButton был обновлен с момента последнего вызова segue, но segue по-прежнему отправляет старое исходное значение. Есть ли способ обновить функцию подготовки (ниже), чтобы она отправляла новое значение?

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "StatDetailSegue" {
        if let destinationVC = segue.destination as? StatDetailViewController,
            let index = (sender as? StatButton)?.buttonIndex,
            let sendVal = (sender as? StatButton)?.buttonValue,
            let sendUnit = (sender as? StatButton)?.buttonUnit,
            let sendTitle = (sender as? StatButton)?.detailTitle {
            destinationVC.statID = index
            destinationVC.statValue = sendVal
            destinationVC.statUnit = sendUnit
            destinationVC.statTitle = sendTitle
            print("Destination STATID: \(destinationVC.statID)")
            print("Destination value: \(destinationVC.statValue)")
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Можете ли вы отладить значение statValue в вашем destinationVC и проверить, обновляется ли оно после представления destinationVC? Кроме того, проверьте реализацию класса 'StatButton', может быть, свойство buttonValue является лениво инициализированным свойством и инициализируется только один раз? Вот почему, возможно, вы продолжаете получать первое значение, которое всегда присваивалось buttonValue.

0 голосов
/ 10 сентября 2018

Проверьте свои StatButton , если вы используете в раскадровке свои кнопки, тогда ваша кнопка должна наследоваться от StatButton вместо UIButton , иначе ваш код выглядит нормально.

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