Загрузите SecondViewController автоматически, используя Segue - PullRequest
0 голосов
/ 23 сентября 2018

Как загрузить SecondViewController одновременно с ViewController внутри viewDidLoad() методом?

Тип Segue: Sheet.

import Cocoa

class ViewController: NSViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.performSegue(withIdentifier: "secondVC", sender: self)
    }

    func prepareforSegue(segue: NSStoryboardSegue, sender: Any?) {
        if let identifier = segue.identifier, identifier == "secondVC" {
            _ = segue.destinationController as? SecondViewController
        }
    }
}

enter image description here

1 Ответ

0 голосов
/ 23 сентября 2018

Этот

self.performSegue(withIdentifier: "secondVC", sender: self)

не будет работать внутри viewDidLoad. Обдумайте его обертывание внутри Dispatch-after или внутри флага bool в viewDidAppear

DispatchQueue.main.asyncAfter(deadline:.now() + 2 ) {
   self.performSegue(withIdentifier: "secondVC", sender: self)
}

ИЛИ

var once = true
override func viewDidAppear() {
   super.viewDidAppear()
   if once {
        self.performSegue(withIdentifier: "secondVC", sender: self)
        once = false
   }
}
...