Как я могу нажать один и тот же ViewController более одного раза? - PullRequest
0 голосов
/ 25 июня 2019

У меня есть список, и я хочу показать его 3 раза (из одного списка в другой, когда я нажимаю на определенную ячейку).Для этого я использую XIB, содержащий мой ListView.Я также настроил NavigationController для анимации нажатия.

Вот как я вызываю метод pushViewController в моем rootViewController.

    case "Groupe" :
        //this is OK since it's the first time I push the ViewController
        service.getGroupe()
        let vueGroupe = vueListe!
        navigationController?.pushViewController(vueGroupe, animated: true)
        vueListe.navigationItem.title = "Groupe View";
    case "Categorie" :
        //this is not
        let vueCat = vueListe!
        service.getCategorie(ids: elem!)
        navigationController?.pushViewController(vueCat, animated: true)
        vueListe.navigationItem.title = "Groupe View";

С этим кодом я получаю следующую ошибку:

"Нажатие того же представленияэкземпляр контроллера более одного раза не поддерживается "

Как я могу нажать один и тот же ViewController более одного раза?

1 Ответ

1 голос
/ 25 июня 2019

Вы должны создать новый экземпляр объекта UIViewController и нажать его.

Итак, в вашем коде это будет что-то вроде:

case "Groupe":
    service.getGroupe()
    let vueGroupe = VueListeViewController() // I would create a new view controller here as well
    navigationController?.pushViewController(vueGroupe, animated: true)
    vueListe.navigationItem.title = "Groupe View";
case "Categorie":
    let vueCat = VueListeViewController() // New instance
    service.getCategorie(ids: elem!)
    navigationController?.pushViewController(vueCat, animated: true)
    vueListe.navigationItem.title = "Groupe View";
...