Ios 加入&;在Swift中删除视图覆盖

Ios 加入&;在Swift中删除视图覆盖,ios,swift,class,viewcontroller,Ios,Swift,Class,Viewcontroller,以下是对这一问题的答复: 问题:调用hideOverlayView()时,加载覆盖视图将显示,但不会隐藏。但奇怪的是,覆盖层在一段时间后消失(出现后15到30秒) 代码:包含在FirstController.swift中 并在DataManager.swift中调用以下函数: 解决方案: 我在打背景线。根据以下答案,请拨打: dispatch_async(dispatch_get_main_queue(), { // This makes the code run on the main thr

以下是对这一问题的答复:

问题:调用hideOverlayView()时,加载覆盖视图将显示,但不会隐藏。但奇怪的是,覆盖层在一段时间后消失(出现后15到30秒)

代码:包含在FirstController.swift中

并在DataManager.swift中调用以下函数:

解决方案:

我在打背景线。根据以下答案,请拨打:

dispatch_async(dispatch_get_main_queue(), { // This makes the code run on the main thread
  LoadingOverlay.shared.hideOverlayView()          
})

Swift 2

是否从后台线程调用
hideOverlayView()
?如果是,则应确保它在主线程上运行:

dispatch_async(dispatch_get_main_queue(), { // This makes the code run on the main thread
  LoadingOverlay.shared.hideOverlayView()          
})
Swift 3+

DispatchQueue.main.async {
  LoadingOverlay.shared.hideOverlayView()
}

绝对完美。非常感谢。
dispatch_async(dispatch_get_main_queue(), { // This makes the code run on the main thread
  LoadingOverlay.shared.hideOverlayView()          
})
DispatchQueue.main.async {
  LoadingOverlay.shared.hideOverlayView()
}