segue если не могу получить доступ ко всем из них

Здравствуйте, у меня есть проблема, потому что у меня есть VAR count, который является += 1, Когда я нажимаю кнопку, так что, когда я обновляю счетчик de, он не работает на всех сегментах. например, если count == 2, я хочу acces count == 1 и count == 2

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "modos" {
        if count == 1 {
           if let destination = segue.destination as? ModosViewController {
               destination.nnj1 = nombresJugadores[1]
           }
        }
        if count == 2 {
           if let destination = segue.destination as? ModosViewController {
               destination.nnj2 = nombresJugadores[2]
            }
        }

1 ответ

  1. Если вы действительно хотите иметь возможность передать столько имен, сколько вы хотите к контроллеру назначения, ваш текущий подход не будет работать.

    Необходимо иметь массив в контроллере представления назначения, к которому можно добавить новые имена. Таким образом, вы можете просто вызвать индекс каждого элемента в контроллере назначения. При вашем подходе вам придется создать бесконечное количество nnjпеременных, что, очевидно, неосуществимо.

    Так что это будет выглядеть примерно так:

    class ModosViewController: UIViewController {
        var names: [String] = [String]()
        ...
    
    }
    

    Тогда то, что вы можете сделать, это просто изменить prepareForSeguefunc на это:

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "modos" {
            if let destination = segue.destination as? ModosViewController {
                destination.names = nombresJugadores
            }
        }
    }
    

    Потому что теперь у вас есть массив имен в вашем происхождении, которое вы передаете в конечный VC. Надеюсь, это поможет.