ios objective-c uitableview uiviewcontroller uistoryboardsegue

ios - prepareForSegue no llamado en segue incrustado



objective-c uitableview (3)

En su controlador de vista de marco de registro prepareForSegue se invocará directamente después de initWithCoder: para preparar su TableViewController. No puedo ver su conexión entre el controlador de vista de tabla y otra vista (vista a la derecha) pero creo que se llamará cuando llegue a la fila.

//EXTENDIDO

La otra cosa podría ser que no ha agregado UINavigationController en la jerarquía de vista y configura su estilo de segue para ''push''. Intente cambiar el estilo de su transición a ''modal'' en el inspector de atributos. Espero que esto ayude.

Tengo un controlador de vista de tabla incrustado en un contenedor en un controlador de vista.

Tanto en la vista como en los controladores de vista de tabla prepareForSegue meto NSLog (@ "nombre del controlador"), veo un registro para el controlador de vista pero no para el controlador de vista de tabla. ¿No debería también ver el nslog para prepareForSegue de mi vista de tabla?


Pasé un tiempo leyendo esas largas respuestas sobre todo esto. Aquí está la respuesta corta:

prepareForSegue: no se llama para la configuración de contención en IB. Los controladores de vista contenidos se agregan como controladores de vista secundarios. Simplemente puede mirar en self.childViewControllers para el que desea.


Exactamente, como explica Greg, el tipo de inserción de segue es

¡solo se llama durante la configuración!

Esto es muy confuso Podrías decirlo

"prepareForSegue" es UN NOMBRE REALMENTE MALO!

el nombre "prepare for segue" solo tiene sentido en el (¡raro!) caso en el que usted está realmente "segueing" de una escena a otra

En la práctica, hoy en día, en las aplicaciones iOS, usted tiene muchas vistas de contenedor; pero muy a menudo, solo tienes uno o dos "segmentos de escena" reales.

Así que realmente, "prepareForSegue" debería llamarse algo así como "hey, estamos configurando todas las vistas de sus contenedores, ¡puede obtener toda la información que necesita en este momento!"

Es solo una de esas cosas raras sobre iOS que debes saber, pero nunca se explica en ninguna parte.

Aquí hay una explicación completa del uso de vistas de contenedor para principiantes https://.com/a/23403979/294884