美文网首页
[UIApplication sharedApplication

[UIApplication sharedApplication

作者: th先生 | 来源:发表于2018-09-05 15:27 被阅读0次

近日在通过[UIApplication sharedApplication].keyWindow获取rootViewCOntroller的时候,发现有偶然崩溃现象。

[UIApplication sharedApplication].keyWindow 一般可以获取到你想要的window 但是如果有键盘或者AlertView 出现的时候 window就被这两个所掌控了

- (void)viewDidLoad {
    [super viewDidLoad];
    NSLog(@"keyWindow --------> %@",[UIApplication sharedApplication].keyWindow.rootViewController);
    NSLog(@"delegate.window --> %@",[UIApplication sharedApplication].delegate.window.rootViewController);
    NSLog(@"self.view.window -> %@\n \n",self.view.window.rootViewController);
}

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"title" message:@"message" delegate:self cancelButtonTitle:@"cancel" otherButtonTitles:nil];
    [alert show];
    NSLog(@"keyWindow --------> %@",[UIApplication sharedApplication].keyWindow.rootViewController);
    NSLog(@"delegate.window --> %@",[UIApplication sharedApplication].delegate.window.rootViewController);
    NSLog(@"self.view.window -> %@",self.view.window.rootViewController);
}

keywindow.jpg

相关文章

网友评论

      本文标题:[UIApplication sharedApplication

      本文链接:https://www.haomeiwen.com/subject/mfvawftx.html