解雇时UIAlertView警告

时间:2014-07-14 23:27:30

标签: warnings sprite-kit uialertview dismiss skscene

我正在以下列方式创建提醒:

let alert = UIAlertView(title: "Network Unavailable",
                      message: "Oh noes!",
                     delegate: nil,
            cancelButtonTitle: "OK")
alert.show()

工作正常。但是当我点击“确定”按钮关闭警报时,我明白了:

警告:尝试从视图控制器中解除< _UIAlertShimPresentingViewController:0x16ea2230>正在进行演示或解雇!

某些背景信息:

  1. 警报是在SKScene的didMoveToView(view:SKView!)函数中创建的。
  2. 这是在Xcode 6 beta 3中。
  3. 我的例子很快,但这也发生在Objective-C
  4. 为什么会出现此警告的任何想法?如果它在未来版本的iOS中变成致命错误,我不想忽略它。

    更新

    我还应该在警报出现时添加,当我选择Debug - >查看调试 - >捕获视图层次结构,警报未显示在视图的3d视图中。我想知道这是否是我做错的症状。

1 个答案:

答案 0 :(得分:5)

我收到同样的警告:

警告:尝试从视图控制器中解除< _UIAlertShimPresentingViewController:>正在进行演示或解雇!

在iOS8中,UIAlertController取代了UIAlertView。这应该解决你的警告(在Objc中):

UIAlertController *alert =
  [UIAlertController alertControllerWithTitle:@"Network Unavailable"
                                      message:@"Oh noes!"
                               preferredStyle:UIAlertControllerStyleAlert];

UIAlertAction *cancelAction =
  [UIAlertAction actionWithTitle:@"Ok"   
                           style:UIAlertActionStyleCancel
                         handler:^(UIAlertAction *action) {
                                                        }];
[alert addAction:cancelAction];    
[self presentViewController:alert animated:YES completion:nil];

有关详细信息,请参阅documentation for UIAlertController