¿Cómo get todos los ViewControllers de la aplicación en iOS?

¿Cómo puedo get todos los ViewControllers de mi aplicación en time de ejecución? Por lo que sé self.navigationcontroller.viewControllers devuelve el NSArray de solo aquellos controlleres que están en la stack de navigation. ¿Pero hay alguna forma de que pueda acceder a todos los ViewControllers de mi aplicación?

Enganchándose a la respuesta de Umka.

Sin saber exactamente lo que quiere hacer, esto podría ser totalmente exagerado, pero podría ayudarlo.

Puede subclass UIViewController (por ejemplo, AddToArrayViewController), y en el método init personalizado, agréguelo a algún Singleton que haya definido en alguna parte. De esta manera, cada vez que inicializa un ViewController (que es una subclass de su AddToArrayViewController) se agregará a una matriz en su Singleton.

PERO, debes asegurarte de que también eliminas ViewControllers cuando se eliminan / limpian, de lo contrario solo tendrás una list de pointers colgantes en esa matriz, lo cual no es realmente seguro.

AFAIK no hay tal manera a less que te cuides de ti mismo. Podría tener acceso a todos los controlleres de navigation, pero solo mantendrán los controlleres actualmente inicializados en la stack. Siempre es posible que los controlleres no estén en ningún browser, por ejemplo, los controlleres de vista modal. Diría que estás haciendo algo mal si necesitas esto 🙂

Quizás la única forma de hacerlo es mantenerlos a todos en una matriz que usted controla por completo.