Избегайте выполнения несколько раз - PullRequest
0 голосов
/ 17 марта 2020

В моем приложении более 20+ кнопок. Для этих кнопок, если я нажму два раза, он выполнит переход дважды и дважды откроет view-контроллер во всем приложении в swift iOS?

self.performSegue(withIdentifier: "toViewController", sender: nil)

Ответы [ 2 ]

0 голосов
/ 19 марта 2020
  • Вы можете объявить свойство

    var isSegueEnabled = true
    
  • Затем реализовать метод для контроля, должен ли быть выполнен переход

    func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
        return isSegueEnabled
    }
    
  • В prepare(for segue установите для свойства false

    isSegueEnabled = false
    
  • В какой-то момент после отклонения представленного контроллера установите isSegueEnabled обратно в true

0 голосов
/ 17 марта 2020

Вы можете прикрепить тег к каждой кнопке и определить массив сегментов

self.performSegue(withIdentifier:segues[sender.tag], sender: nil)

или просто сделать кнопку источником перехода, если вы не хотите переопределять prepareForSegue

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