当我们使用MCSessionState时,didChangeState响应非常慢,我们无法find原因
我们正在使用以下代码通知用户关于对等连接状态。 但有一个问题“ 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 }
MCSessionDelegate
callback不在主线程上。 如果您在该function中进行UI更改,则需要在主线程上执行此操作。
dispatch_async(dispatch_get_main_queue()) { labelState.text = state.displayName }
你也应该在MCPeerID
对象上使用displayName
,而不是仅仅是一个枚举的MCSessionState
。