present instantiateviewcontrollerwithidentifier change ios xcode uistoryboard

ios - instantiateviewcontrollerwithidentifier - No se puede conectar el guión gráfico Desenrollar Segue



instantiateviewcontrollerwithidentifier swift (4)

¿Estás trabajando con la versión xcode6-beta? en la versión beta 1-3 hay un error que evita que el creador de interfaces detecte segmentos de desenrollado. en xcode6-beta4 este error ha sido corregido.

Estoy intentando crear un segmento de desenrollado, pero nada se conectará cuando ctrl + arrastre. Además, cuando hago clic con el botón derecho en el icono Salir, no hay opciones disponibles.

¿Algunas ideas?


Debe tener una IBAction definida en un controlador de vista que tome un argumento de tipo "UIStoryboardSegue *".

Algo como esto:

@interface MyViewController ... - (IBAction)unwindFromConfirmationForm:(UIStoryboardSegue *)segue { } ... @end

Versión Swift 3

@IBAction func unwindToViewController(segue: UIStoryboardSegue) { //code }

Proporcionado por DoruChidean en https://.com/a/46199117/250190


Solo para aclarar, para vincular esto en el guión gráfico, después de agregar el método anterior al "controlador de vista que desea desconectar", debe arrastrar un segmento desde un botón o lo que sea en su "controlador de vista que desea desconectar". a su propio pequeño icono verde "SALIR" en la barra inferior.

Debe haber una ventana emergente para vincular a "- unwindFromConfirmationForm".

Una vez hecho esto, la función de desenrollado debería funcionar.

Solo añadiendo a Travis el punto excelente: para ser completamente claro:

Digamos que acaba de comenzar a experimentar con guiones gráficos para que (a) haya creado un nuevo proyecto Xcode para iOS7 y (b) haya creado un guión gráfico con un controlador de navegación y luego (c) haya hecho cinco o seis controladores de vista. Tu objetivo es poder ir y venir entre la media docena de controladores de vista usando desenrollamientos. {Es trivial avanzar "hacia adelante" arrastrando el control desde un botón en uno, hasta el siguiente.}

Ahora, en este momento: los seis controladores de vista, de hecho, serán la clase "predeterminada" ViewController " . Tenga en cuenta que Xcode (algo sin sentido) le proporciona un archivo ViewController.h y ViewController.m.

Nuevamente, las seis vistas de su "ejemplo simple" están de hecho simplemente usando el archivo ViewController.m, en este momento. Así que, muy simple, si añades esto:

-(IBAction)unwindUnused:(UIStoryboardSegue *)segue { NSLog(@"I did an unwind segway! Holy crap!"); }

A ese archivo "controlador" ViewController.m: de hecho, cada una de sus seis vistas ahora "funcionará" , podrá arrastrar hasta el infame pequeño botón verde "Salir". Es fácil.

Ahora, solo TBC normalmente en un proyecto real, nunca usaría el archivo predeterminado "ViewController.m". Por lo tanto, vaya aquí:

https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/SecondTutorial.html

y busque precisamente "Crear controladores de vista personalizados", y por supuesto explica ese proceso con excelente detalle si es nuevo.

Pero una vez más, si simplemente está haciendo el trabajo de tonto y quiere hacer que el botón verde funcione para desenrollar, simplemente coloque el fragmento de código en el archivo de resguardo "ViewController.m", y ya está. (Recuerda que en la "vida real" pondrías una llamada personalizada en cada una de tus pantallas personalizadas, es probable que traten con datos, etc.) ¡Espero que te sirva!

Factoid de bonificación: ¡ Tenga en cuenta que, de todos modos, un botón "Atrás" aparecerá automáticamente en la barra de navegación cuando esté realizando una prueba como esta! (Es decir, incluso si no agrega el método de código auxiliar de desenrollado).


Upvote para Jon Hess! Este es el equivalente de Swift 3

@IBAction func unwindToViewController(segue: UIStoryboardSegue) { //code }