下面是ECSlidingViewController演示代码的applicationDidFinishLaunching方法:访问UIWindow的rootViewController?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
ECSlidingViewController *slidingViewController = (ECSlidingViewController *)self.window.rootViewController;
UIStoryboard *storyboard;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
storyboard = [UIStoryboard storyboardWithName:@"iPhone" bundle:nil];
} else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
storyboard = [UIStoryboard storyboardWithName:@"iPad" bundle:nil];
}
slidingViewController.topViewController = [storyboard instantiateViewControllerWithIdentifier:@"FirstTop"];
return YES;
}
什么没有意义,我是第一个行:
ECSlidingViewController *slidingViewController = (ECSlidingViewController*)self.window.rootViewController;
我只是不明白你如何抢窗口的根视图控制器,并且像你那样强制转换它?这条线究竟做了什么,它是如何工作的?