presentViewController无法正常工作

时间:2016-04-16 16:02:28

标签: ios swift uialertcontroller

我有这段代码,我提出警告:

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
}

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

P.S。我也收到了这个警告:

  

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

这可能吗?

1 个答案:

答案 0 :(得分:0)

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