Как я могу изменить свой следующий контроллер вида в зависимости от названия кнопки на первом V C? - PullRequest
0 голосов
/ 20 февраля 2020

В основном моя цель состоит в том, чтобы, если название кнопки на V C было чем-то, кнопка приведет пользователя к определенному другому V C, отличному от того, если название кнопки было чем-то другим ... У меня нет перехода, так как я не могу сделать это go в двух местах?

class ThirdViewController: UIViewController {

     @IBOutlet weak var buttonName: UIButton!

    var text:String?

    override func viewDidLoad() {
        super.viewDidLoad()

        self.buttonName.setTitle(self.text, for: .normal)
        // Do any additional setup after loading the view.
    }

    @IBAction func buttonPressed(_ sender: UIButton) {

        func prepare(for segue: UIStoryboardSegue, sender: Any?) {
                  if text == "sad" {
                   _ = segue.destination as! act1ViewController
                  }
                  else if text == "yay" {
                   _ = segue.destination as! act2ViewController
                  }
         }
    }
}

1 Ответ

0 голосов
/ 20 февраля 2020

Вы объявляете func внутри func. Это бессмысленно (здесь). Ваше внутреннее func не приведет к чему-либо; он фактически игнорируется.

Не объявляйте любой func внутри buttonPressed. Вам нужно вызвать функцию, которая делает то, что вы хотите.

Если цель состоит в том, чтобы добиться перехода, вызовите функцию self.performSegue.... Если в вашей раскадровке нет сегментов, вызовите функцию self.present... или self.pushViewController....

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