ios - 作为请求处理程序的结果更新 UI

标签 ios swift gcdwebserver

我有这样的设置;

startup() {
    ...
    self.gcdWebServer.addHandlerForMethod("GET", path: "/hide", 
        requestClass: GCDWebServerRequest.self, asyncProcessBlock: {request in self.hide()})
    ...
}

func hide() -> GCDWebServerDataResponse {
    self.view.hidden = true;
    print("hide")
    return GCDWebServerDataResponse(statusCode: 200)
}

当发出对/hide 的请求时,控制台会立即显示print() 调用,但 View 不会因任意延迟(介于 10 秒之间)而消失-30 秒。

我怎样才能让请求立即导致 View 被隐藏?

最佳答案

试试这个,在主线程上调用 hidden。

dispatch_async(dispatch_get_main_queue(),{
   self.view.hidden = true;
})

关于ios - 作为请求处理程序的结果更新 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35266273/

相关文章:

ios - 使用 iPhone 核心图,在 x 轴上绘制日期

ios - 使用 Appdelegate 在 IOS Swift 中为所有 View Controller 创建 Firebase CRUD 方法

ios - GCDWebServer中不同本地资源的两个路径

ios - 如何通过gcdwebserver获取本地html文件

ios - 我如何比较两个 iOS 本地网络服务器?

ios - 'downloadURL( )' is deprecated: Use ` StorageReference.downloadURLWithCompletion()` 获取当前下载 URL。

ios - 如何为 uiimageview 设置动画并停止剩余进程

ios - 如何为在 iPad 上运行的 iPhone SwiftUI 应用程序锁定纵向方向?

ios - Moya+Alamofire POST 请求在应用程序之间切换或进入后台时超时

ios - 在 SwiftUI 中实现列表删除功能