2012-02-09 8 views
17

Para la navegación iOS 5 entre controladores de vista, la clase UIViewController proporciona el selector [self performSegueWithIdentifier:@"MySegue" sender:sender]. Presumiblemente, bajo el capó, la implementación del guión gráfico conoce la lista de identificadores segue salientes de cualquier controlador de vista, es decir, [@"MySegue", @"MySegue2"]. ¿Hay alguna manera de acceder a esta lista mediante programación, para obtener los identificadores que se pueden pasar para realizarSegueWithIdentifier?Enumerar programáticamente Segmentos salientes para un UIViewController

Respuesta

12

Este es un comportamiento indocumentado pero

NSArray *segueTemplates = [self valueForKey:@"storyboardSegueTemplates"] ; 

debe devolver una matriz que incluye todos los posibles valores SEGUE que se pueden pasar a performSegueWithIdentifier.

+0

genial - Necesito si para el código Dummy/Código de depuración solo –

+0

Parece validada en otra parte: https://gist.github.com/away4m/5bb5d773cb93aa9e60a1 - gracias Rog! – btown

10

No hay una API pública para enumerar los segmentos en un guión gráfico.

+1

Triste. Así que mi única opción es atrapar la excepción si arroja ... Eso no es como Apple. –

+0

Me gustaría volver a evaluar esto con ios9 [aunque mi esperanza es delgada: D] –

-1

Almacenar todos los segue relacionados con el controlador de vista en una matriz y luego acceder a esta matriz en el controlador de vista.

Cuestiones relacionadas