Per aggiungere alla risposta di Eric e aggiornarlo per Xcode 8 e Swift 3:
Un ID storyboard fa esattamente ciò che il il nome implica: identifica. Solo che è identifica a visualizza il controller in un file storyboard. È come lo storyboard sa quale controller di visualizzazione è quale.
Ora, non essere confuso dal nome. Un ID storyboard non identifica uno "storyboard". Uno storyboard, secondo la documentazione di Apple, 'rappresenta i controller di visualizzazione per l'interfaccia utente di tutte o parte della tua app.' Quindi, quando hai qualcosa di simile all'immagine qui sotto, hai uno storyboard chiamato Main.storyboard che ha due controller di visualizzazione, ognuno dei quali potrebbe avere un ID storyboard (il loro ID nello storyboard).
È possibile utilizzare ID storyboard di un controller della vista per istanziare e restituire quel controller della vista. Puoi quindi andare avanti per manipolarlo e presentarlo come vuoi. Per utilizzare l'esempio di Eric, dire che si desidera presentare un controller di vista con identificatore 'MyViewController' quando si preme un tasto, si dovrebbe fare in questo modo:
@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)
}
prega di prendere nota delle variazioni di sintassi.
Proviamo questo, e come si ottiene il self.storyboard' – RTB
self.storyboard è possibile accedere da qualsiasi viewcontroller. Ora modificherò la mia risposta in modo da poter vedere – Eric
E se fosse necessario accedervi dal mio AppDelegate o da qualsiasi altra classe? – RTB