尝试在其视图不在 window 层次结构中的 UIViewController 上呈现 UIAlertController

Attempt to present UIAlertController on UIViewController whose view is not in the window hierarchy

我正在尝试检查 iOS 9 中的 UIAlertController 以获取我的示例应用程序,而 运行 然后我在控制台中发现了警告。我正在使用 Xcode 7 和 Objective C。

请在控制台中找到以下警告消息。

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

请查找以下代码以获取更多信息。

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];

我猜,您正试图在已加载的视图中显示警报。你收到错误:

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

因为,在已加载视图中,视图尚无法显示给用户。因此,您无法显示警报。将代码移动到 viewDidAppear