MultiPeerのconnectivtyでの作業中に、私は次のエラーを取得する更新以来、いくつかの理由で、私はそれを把握するように見えることはできません。なぜこの迅速なコードが間違っていますか?
を「タイプMessageServiceManagerは、プロトコルMCSessionに準拠していません」すべてが完全に動作するために使用されていましたが、何らかの理由ですべてが壊れてしまいました。理由はわかりません。 これは、それはすべて約後処理するなってきているコードです:それを言及するとき
extension MessageServiceManager : MCSessionDelegate {
func session(_ session: MCSession, peer peerID: MCPeerID, didChange state: MCSessionState) {
NSLog("%@", "peer \(peerID) didChangeState: \(state.stringValue())")
self.delegate?.connectedDevicesChanged(self, connectedDevices: session.connectedPeers.map({$0.displayName}))
}
func session(_ session: MCSession, didReceive data: Data, fromPeer peerID: MCPeerID) {
NSLog("%@", "didReceiveData: \(data)")
let str = NSString(data: data, encoding: String.Encoding.utf8.rawValue) as! String
self.delegate?.messageChanged(self, messageString: str)
}
func session(_ session: MCSession, didReceive stream: InputStream, withName streamName: String, fromPeer peerID: MCPeerID) {
NSLog("%@", "didReceiveStream")
}
func session(_ session: MCSession, didFinishReceivingResourceWithName resourceName: String, fromPeer peerID: MCPeerID, at localURL: URL??, withError error: Error?) {
NSLog("%@", "didFinishReceivingResourceWithName")
}
func session(_ session: MCSession, didStartReceivingResourceWithName resourceName: String, fromPeer peerID: MCPeerID, with progress: Progress) {
NSLog("%@", "didStartReceivingResourceWithName")
}
}
エラーメッセージは、あなたのクラスが 'MCSessionDelegate'に準拠していないことを知っていることを伝えます - 自動補完を使用するか、' MessageServiceManager'がプロトコルから逃しているものを手動で確認してください。 –
proble – SemAllush