【问题标题】:failed to return after waiting 10 seconds. main run loop mode: kCFRunLoopDefaultMode等待 10 秒后未能返回。主运行循环模式:kCFRunLoopDefaultMode
【发布时间】:2014-09-09 11:06:15
【问题描述】:

我在应用程序退出时和应用程序启动时根据时间戳多次调用服务器。基本上我拉和推数据。

我正在对服务器进行异步调用

但发生的事情是我在调试控制台中收到此消息

void SendDelegateMessage(NSInvocation *): 委托 (webView:decidePolicyForNavigationAction:request:frame:decisionListener:) 等待 10 秒后未能返回。主运行循环模式: kCFRunLoopDefaultMode

我的应用挂起。我不明白出了什么问题。

问候 兰吉特。

【问题讨论】:

  • 你能贴一些代码吗?
  • 您需要什么代码?我的意思是发球?或者解析json数据
  • 是的,我想它不会异步运行。
  • 确实如此,我正在使用委托方法,这得到了我的响应。

标签: ios nsurlconnection


【解决方案1】:

尝试将工作分成两部分。一个运行异步的后台任务和应该在主队列中运行的部分。

DispatchQueue.global(qos: .background).async {

  // do things which can run in background
  // calculations-delay-waiting for a response etc.

  DispatchQueue.main.asyncAfter(deadline: .now() + delay, execute: {

    // implement UI related part which has to run in main thread.

  })
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 1970-01-01
    • 2021-09-03
    • 2019-09-11
    • 2013-01-11
    • 1970-01-01
    相关资源
    最近更新 更多