MVC模型中是不应该在Model或者View中获取Controller的,但是有时候需要一个manager去管理多个MVC,那么需要push一个ViewController的时候可以通过下面这段代码来获取UINaviagtionController
UINavigationController *nav;
UIViewController *rvc = [[UIApplication sharedApplication] keyWindow].rootViewController;
if ([rvc isKindOfClass:[UINavigationController class]]) {
nav = (UINavigationController *)rvc;
} else {
nav = [rvc navigationController];
}