Xcode, donde asignar el identificador de segue

Perdónenme por la pregunta de principiante en Swift 2. Sé que puedo cambiar a otra pantalla (ViewController) como esta

self.performSegueWithIdentifier ("SecondViewController", sender: self) 

pero parece que no puedo encontrar dónde asignar mi ID de la 2da pantalla, solo encuentro la ID del guion gráfico, ¿o sí?

Ya lo intenté, solo recibí un locking con el siguiente error:

 'Receiver () has no segue with identifier 'SecondViewController'' 

¿Alguna idea? Gracias

El identificador de Segue no es lo mismo que la ID del guión gráfico , la ID del guión gráfico utilizada cuando desea crear un controlador de visualización basado en ese guión gráfico específico, y tiene que ser exclusivo, a diferencia del identificador de segregación.

Si ya sabe cómo crear un segue, puede omitir esta parte.

Agregar un segue entre dos viewControllers:

Desde el Creador de interfaces, presione la tecla Ctrl y arrastre entre los dos Controladores de vista que desea vincular (asegúrese de que está arrastrando desde el controlador de vista en sí, no desde su vista principal). Debería ver:

enter image description here

Elija el “Mostrar” -por ejemplo-, la salida debería verse así:

enter image description here

Como se muestra arriba, la flecha que rodea el rectángulo rojo es el segue.

Nota adicional: si seleccionó la opción “Mostrar”, debe incrustar su primera vista Controlador en un Controlador de navegación (seleccione su primera vista Controlador -> Editor -> Insertar en -> Controlador de navegación), el resultado debería ser similar a:

enter image description here

Porque el “Show” significa presionar en una stack de controlador de navegación.

Asignando un identificador para el segue:

Seleccione el segue, del inspector de atributos verá el campo de texto “Identificador”, ¡eso es! asegúrese de insertar el mismo nombre exacto que se utilizó en performSegueWithIdentifier .

Si no sabe dónde encontrar el inspector de atributos, se encuentra en la parte superior derecha y se ve así:

enter image description here


Además:

Para agregar múltiples segues de un Controlador de Vista, siga el mismo proceso ( ctrl + arrastre del primer controlador el Controlador de Vista), el resultado debería ser similar a:

enter image description here

En este caso, puede enfrentar el problema de cómo reconocer qué segue se ha realizado, reemplazando el método de prepare(for:sender:) es la solución, puede hacer la verificación en función de la propiedad del identifier segue:

 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { if (segue.identifier == "firstSegueIdentifier") { // ... } else if (segue.identifier == "secondSegueIdentifier") { //... } } 

que sería el nombre que ha agregado al segue en el guión gráfico.

Cuando vincula un controlador View a otro controlador View en el guión gráfico, en el enlace entre ellos necesita asignar un identificador de segue, es decir, “SecondViewController”, solo entonces su código funcionará.

Alternativamente, también puede mostrar otro controlador de vista a través de la identificación del guión gráfico utilizando self.storyboard.instantiateViewControllerWithIdentifier (“// id del guión gráfico de ese controlador de vista”) y luego use present / show view controller.

En tu código

 self.performSegueWithIdentifier ("SecondViewController", sender: self) 

la cadena “SecondViewController” se parece a la identificación del guión gráfico. En el mismo lugar, debe escribir el identificador de segue, no el identificador del guión gráfico.

Siga la captura de pantalla y asigne el nombre del identificador segue haciendo clic en el campo segue en la barra superior derecha. puedes hacer esto

 self.performSegueWithIdentifier ("WriteSegueIdentifierName", sender: self) 

enter image description here