Para agregar a la respuesta de Eric y actualizarla para Xcode 8 y Swift 3:
Una ID de guión gráfico hace exactamente lo que su nombre implica: identifica. Solo que identifica un controlador de vista en un archivo de guión gráfico. Así es como el guión gráfico sabe qué controlador de vista es cuál.
Ahora, no se confunda con el nombre. Una ID de guión gráfico no identifica un 'guión gráfico'. Un guión gráfico, de acuerdo con la documentación de Apple, "representa los controladores de vista para toda o parte de la interfaz de usuario de su aplicación". Entonces, cuando tiene algo como la imagen a continuación, tiene un guión gráfico llamado Main.storyboard que tiene dos controladores de vista, a cada uno de los cuales se le puede dar una ID de guión gráfico (su ID en el guión gráfico).
Puede usar la ID del guión gráfico de un controlador de vista para crear una instancia y devolver ese controlador de vista. Luego puedes manipularlo y presentarlo como quieras. Para usar el ejemplo de Eric, digamos que desea presentar un controlador de vista con el identificador 'MyViewController' cuando se presiona un botón, lo haría de esta manera:
@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)
}
Tenga en cuenta los cambios en la sintaxis.
self.storyboard