¿Qué es un ID de StoryBoard y cómo puedo usar esto?

Soy nuevo en el desarrollo de IOS y recientemente comencé en Xcode 4.5. Vi por cada viewController que podría establecer algunas variables de identidad, incluida la ID del guión gráfico. ¿Qué es esto y cómo puedo usarlo?

enter image description here

Empecé a buscar en stackoverflow y no pude encontrar ninguna explicación para ello. Supuse que no es solo una etiqueta estúpida que puedo configurar para recordar mi controlador ¿verdad? ¿Qué hace?

La ID del guión gráfico es un campo de cadena que puede usar para crear un nuevo ViewController basado en ese guion gráfico ViewController. Un ejemplo de uso sería desde cualquier ViewController:

//Maybe make a button that when clicked calls this method - (IBAction)buttonPressed:(id)sender { MyCustomViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"MyViewController"]; [self presentViewController:vc animated:YES completion:nil]; } 

Esto creará un MyCustomViewController basado en el guión ViewController que denominó “MyViewController” y lo presentará sobre su Controlador de Vista actual

Y si estás en el delegado de tu aplicación, podrías usar

 UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; 

Editar: Swift

 @IBAction func buttonPressed(sender: AnyObject) { let vc = storyboard?.instantiateViewControllerWithIdentifier("MyViewController") as MyCustomViewController presentViewController(vc, animated: true, completion: nil) } 

Editar para Swift> = 3:

 @IBAction func buttonPressed(sender: Any) { let vc = storyboard?.instantiateViewController(withIdentifier: "MyViewController") as! ViewController present(vc, animated: true, completion: nil) } 

y

 let storyboard = UIStoryboard(name: "MainStoryboard", bundle: nil) 

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 te confundas 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 la totalidad o parte de la interfaz de usuario de su aplicación”. Entonces, cuando tienes algo como la imagen de abajo, tienes un guión gráfico llamado Main.storyboard que tiene dos controladores de vista, cada uno de los cuales podría tener una ID de guión gráfico (su ID en el guión gráfico).

enter image description here

Puede usar la ID del guión gráfico de un controlador de vista para crear una instancia y devolver ese controlador de vista. A continuación, puede seguir adelante para manipular y presentarlo como desee. 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) } 

Por favor, tome nota de los cambios en la syntax.