UIAlert错误,其视图不在窗口层次结构中

时间:2015-11-08 21:54:42

标签: ios swift alert

我正在开展网络连接,

我在viewDidLoad中检查了可访问性代码,因此我通过警告通知用户是否没有网络。

这是我的代码,

class ViewController: UIViewController {
var reachability : Reachability?

override func viewDidLoad() {
    super.viewDidLoad()
    if reachability?.isReachable() == true
     {
         print("reachable")
     }else{

        let myAlert = UIAlertController(title: "No network", message:
            "Your network is not working", preferredStyle:
            UIAlertControllerStyle.Alert)
        let okAction = UIAlertAction(title: "Ok", style:
            UIAlertActionStyle.Default, handler: nil)
        myAlert.addAction(okAction)
        self.presentViewController(myAlert, animated: true, completion:
            nil)

    }

但如果我尝试使用我的模拟器或手机, 它显示错误消息

  

2015-11-08 16:43:52.173 PracticeReachability [5494:2661290]警告:尝试显示其视图不在窗口层次结构中!

我试过把

var myAlert = UIAlertController()

和     var myAlert:UIAlertController!

两者都没有成功。

问题

我的其他提醒在同一个ViewController中正常工作。 为什么只有这个不起作用?

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:1)

我认为视图控制器的视图尚未添加到viewDidLoad中的屏幕上。尝试将代码移至viewDidAppear。