UIStoryBoard obtiene el primer controller de vista desde ApplicationDelegate

Tengo un protocolo que mi ApplicationDelegate implementa. Quiero pasar esto al primer controller de vista definido en un tablero de historia. ¿Cómo obtengo acceso al mismo del método?

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

No estoy seguro de si estoy entendiendo la pregunta correctamente. Creo que estás preguntando cómo obtienes el primer viewController en un storyboard. Para get esto, llama,

 UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; UIViewController *vc =[storybord instantiateInitialViewController]; 

Cambia el nombre del guión gráfico para que se ajuste a tu nombre, MainStoryboard es solo el nombre pnetworkingeterminado. Espero que esto sea lo que estabas buscando.

Editar:

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; UIViewController *vc =[storybord instantiateInitialViewController]; //set the delegate on the view controller that you have loaded // Override point for customization after application launch. return YES; } 

En lugar de crear una nueva copy de su storyboard usando

 UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 

puede establecer en el file de encabezado del delegado de su aplicación esta propiedad

 @property (nonatomic, weak) UIViewController* initialViewController; 

y en este método simplemente asigna self.window.rootViewController a la propiedad

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.initialViewController = self.window.rootViewController; return YES; } 

Esto debería funcionar, porque en la propiedad de la window del protocolo de delegado de la aplicación se tiene acceso a rootViewConroller y este controller es initialViewController si usa storyboards.

Swift 2.0 Implementación para aquellos que quisieron.

Es posible que deba modificar el identificador de vista STROYBAORD y controller. También o

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { let storyboard: UIStoryboard = UIStoryboard(name: "[STORYBOARD NAME]", bundle: nil) let viewController:UIViewController = storyboard.instantiateViewControllerWithIdentifier("[CONTROLLER IDENTIFIER]") // You have replace UIViewController with you customer controll type self.window?.rootViewController = viewController self.window?.makeKeyAndVisible() return true }