presentViewController 不工作

Posted

技术标签:

【中文标题】presentViewController 不工作【英文标题】:presentViewController not working 【发布时间】:2016-04-16 16:02:27 【问题描述】:

我有这段代码用于显示警报:

func arraysize() -> [Int]? 

    let title = "Your file is empty"
    let message = "Please refer to the instructions"
    let okText = "OK"

    let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)
    let okayButton = UIAlertAction(title: okText, style: UIAlertActionStyle.Cancel, handler: nil)
    alert.addAction(okayButton)

    do
        ....

        if array?.isEmpty == true
            print("the array is empty")
            presentViewController(alert, animated: true, completion: nil)
                    

     
    catch let error 
        print(error)
    

    return array

但是我的警报没有显示。它曾经显示,虽然我没有更改任何代码,但它停止为我工作。有人可以帮我理解我做错了什么吗?

附:我也收到了这个警告:

[16632:713433] 警告:尝试呈现其视图不在窗口层次结构中的 UIAlertController!

会是这样吗?

【问题讨论】:

是否打印:“数组为空”? @khuong291 是的,确实如此,然后继续跳到我班上的其他代码。 是的,因为这里没有循环,所以你使用“do-try-catch” @khuong291 正确,但它仍然应该显示警报对吗? 阅读警告。这是关键部分。现在搜索那个错误。一直是discussed here many times before。 【参考方案1】:

正如@rmaddy 在 cmets 中解释的那样,我的问题是我试图从控制器显示一个从未出现在实际屏幕上的警报。我通过从屏幕上显示的控制器调用此方法来解决此问题,并且它起作用了。

【讨论】:

以上是关于presentViewController 不工作的主要内容,如果未能解决你的问题,请参考以下文章

presentViewController 没有按我的意愿工作

presentViewController 在 iPad 上崩溃,但在 iPhone 上不崩溃

presentViewController 导致崩溃

防止在presentViewController上隐藏键盘(显示弹出窗口)

presentViewController 不存在

PresentViewController:动画不显示在 iPad 上