iOS - отправка связанных с отправителем переменных с помощью segue - PullRequest
0 голосов
/ 30 августа 2018

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

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

Один из вариантов, который я пробовал, - создание нового класса UIButton для хранения атрибута.

class statButton: UIButton {
    var buttonIndex = Int()
}

Если это даже работает, как я могу получить доступ к этим данным здесь:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "StatDetailSegue" {
        if let destinationVC = segue.destination as? StatDetailViewController {
            destinationVC.statTitle = //  need to access here
        }
    }
}

Переменная, которую мне нужно отправить, является значением в словаре

1 Ответ

0 голосов
/ 30 августа 2018

Необходимо убедиться, что отправителем является statButton, а затем привести его свойство buttonIndex к правильной строке:

if let destinationVC = segue.destination as? StatDetailViewController, 
   let index = (sender as? statButton).buttonIndex {
        destinationVC.statTitle = String(index) //this is supposing that destinationVC.statTitle expects a String
}

P.S : * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Swift - Swift в Swift, в котором имена классов начинаются с заглавной буквы:

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