在主线程中初始化var

时间:2017-11-11 02:48:56

标签: ios swift multithreading

如果我这样初始化UIWindow:

open lazy var whistleWindow: UIWindow = UIWindow()

我遇到了运行时问题:

  

UIWindow()必须仅从主踏板调用

enter image description here

因此,我试图做这样的事情:

open lazy var whistleWindow: UIWindow = {

  var window:UIWindow!

  DispatchQueue.main.sync {
    window = UIWindow()
  }

  return window
}()

遗憾的是我在运行时遇到了这个错误:

  

线程1:EXC_BREAKPOINT(代码= 1,子代码= 0x10497bba4)

我该怎么办?

1 个答案:

答案 0 :(得分:0)

open lazy var whistleWindow: UIWindow = {
    DispatchQueue.main.sync {
        return UIWindow()
    }
}()