【问题标题】:When we are working with MCSessionState, didChangeState responds very slowly we could not find why当我们使用 MCSessionState 时,didChangeState 响应非常缓慢,我们找不到原因
【发布时间】:2014-11-14 05:33:36
【问题描述】:

我们正在使用以下代码通知用户点对点连接状态。但是有一个问题“labelState.text = state.displayName”在“println ("State Changed to \(state.displayName)”显示状态后几乎 10 秒改变了标签文本。有没有人面临同样的问题。

  func session(session: MCSession!, peer peerID: MCPeerID!, didChangeState state: MCSessionState)
{

    println("State Changed to \(peerID.displayName)")

    labelState.text = peerID.displayName
 }

【问题讨论】:

    标签: ios multipeer-connectivity


    【解决方案1】:

    MCSessionDelegate 回调不会出现在主线程上。如果您在该函数中进行 UI 更改,则需要在主线程上进行。

    dispatch_async(dispatch_get_main_queue()) {
        labelState.text = state.displayName
    }
    

    您还应该在MCPeerID 对象上使用displayName,而不是MCSessionState,这只是一个枚举。

    【讨论】:

      猜你喜欢
      • 2019-10-14
      • 2014-04-09
      • 1970-01-01
      • 1970-01-01
      • 2012-03-04
      • 1970-01-01
      • 1970-01-01
      • 2010-10-15
      • 1970-01-01
      相关资源
      最近更新 更多