Attempt to present UIAlertController on UIViewCont

2019-02-17 18:22发布

I'm trying to check the UIAlertController in iOS 9 for my sample application and while run it then I had found warning in console. I'm using Xcode 7 and Objective C.

Please find the below warning message in console.

Warning: Attempt to present < UIAlertController: 0x7fb1bb5be040 > on < ViewController: 0x7fb1bb5aef30 > whose view is not in the window hierarchy!

Please find the below code for more information.

UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"My Alert"
                                                               message:@"This is an alert."
                                                        preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault
                                                      handler:^(UIAlertAction * action) {}];

[alert addAction:defaultAction];
[self presentViewController:alert animated:YES completion:nil];

1条回答
兄弟一词,经得起流年.
2楼-- · 2019-02-17 18:41

I guess, you are trying to present the alert on view did load. You get the error:

Warning: Attempt to present < UIAlertController: 0x7fb1bb5be040 > on < ViewController: 0x7fb1bb5aef30 > whose view is not in the window hierarchy!

because, in view did load the views are not yet available to display to the user. Hence you can't present the alert. Move the code into viewDidAppear

查看更多
登录 后发表回答