Aby dodać do odpowiedzi Erica i zaktualizować ją dla Xcode 8 i Swift 3:
Identyfikator scenorysu robi dokładnie to, co sugeruje nazwa: identyfikuje. Wystarczy, że identyfikuje się kontroler widoku w pliku ujęć. W ten sposób storyboard wie, który kontroler widoku jest który.
Nie dajcie się zmylić nazwą. Identyfikator serii ujęć nie identyfikuje „scenorysu”. Scenorys, zgodnie z dokumentacją Apple, „przedstawia kontrolery widoku dla całego lub części interfejsu użytkownika aplikacji”. Tak więc, gdy masz coś takiego jak na poniższym obrazku, masz scenorys o nazwie Main.storyboard, który ma dwa kontrolery widoku, z których każdy może otrzymać identyfikator serii ujęć (ich identyfikator w serii ujęć).
Możesz użyć identyfikatora scenorysu kontrolera widoku, aby utworzyć wystąpienie i zwrócić ten kontroler widoku. Następnie możesz manipulować nim i prezentować go w dowolny sposób. Aby skorzystać z przykładu Erica, powiedzmy, że chcesz zaprezentować kontroler widoku z identyfikatorem „MyViewController” po naciśnięciu przycisku, zrobiłbyś to w ten sposób:
@IBAction func buttonPressed(sender: Any) {
// Here is where we create an instance of our view controller. instantiateViewController(withIdentifier:) will create an instance of the view controller every time it is called. That means you could create another instance when another button is pressed, for example.
let vc = storyboard?.instantiateViewController(withIdentifier: "MyViewController") as! ViewController
present(vc, animated: true, completion: nil)
}
Zwróć uwagę na zmiany w składni.
self.storyboard