2016-07-20 3 views
1

I 나는 새로운 MultipeerConnectivity에, 나는 내 사용자 지정 sendData 기능을 구현하고 때, 그것은 Cannot invoke 'sendData' with an argument list of type '(NSData,toPeer:NSArray,withMode:MCSessionSendDataMode',error:inout NSError?)유형의 인수 목록 '같이 sendData'을 호출 할 수 없습니다 '(을 NSData, 투 피어 :있는 ​​NSArray, ......'

을 보여줍니다

는 것을 해결하는 방법 :

func sendData(dataToSend:dataSend,toPeer: MCPeerID)->Bool{ 
    let dataToSend = NSKeyedArchiver.archivedDataWithRootObject(dataToSend) 
    let peerArray = NSArray(object: toPeer) 
    var error:NSError? 

    let arr = [MCPeerID]() 
//this line shows error 
    if !self.session!.sendData(dataToSend, toPeers: peerArray, withMode: MCSessionSendDataMode.Reliable, error: &error) { 

    } 
} 
+0

사용하고있는 스위프트의 버전을에서 테스트이

do { try self.session!.sendData(dataToSend, toPeers: peerArray, withMode: MCSessionSendDataMode.Reliable) print("success") // do something } catch { print("failure") // do something else } 

같은 것을해야합니까? – Asdrubal

답변

1
if !self.session!.sendData(dataToSend, toPeers: peerArray, withMode: MCSessionSendDataMode.Reliable, error: &error) { 

} 

이 방법은 스위프트 2.X에서 부울을 반환하지 않습니다

이 애플의 설명서에서 방법

func sendData(_ data: NSData, 
     toPeers peerIDs: [MCPeerID], 
    withMode mode: MCSessionSendDataMode) throws 

이 수단

당신은 스위프트 2와 엑스 코드 7.3.1

+0

그것은 작동합니다! 감사! –