내가 다른 하나의 플레이어에서 다음과 같은 구조를 보내려고하고 데이터를 전송 및 수신 :게임 센터 - 스위프트
struct GamePacket {
var action: String
var pointArray: [CGPoint]
}
내가 할 수있는 GamePacket
을 변환 할 수있는 올바른 방법을 알아내는 힘든 시간을 보내고 있습니다을 Data
그리고 다시.
func send(packet: GamePacket) {
//convert GamePacket to Data here
let data = Data.init()
var remotePlayerArray = [GKPlayer]()
if let currentPlayer = self.currentPlayer, let match = self.match, let playerArray = self.match?.players {
for player in playerArray {
if player != currentPlayer {
remotePlayerArray.append(player)
}
}
do {
try match.send(data, to: remotePlayerArray, dataMode: GKMatchSendDataMode.reliable)
}
catch {
print("connectionError")
}
}
}
그리고 의 코드가를 수신 : 여기
내가 이 패킷 전송을 위해 지금까지 가지고있는 코드ObjectiveC
에 기록 된 몇 가지 샘플에서
func match(_ match: GKMatch, didReceive data: Data, fromRemotePlayer player: GKPlayer) {
//convert Data to GamePacket here
}
을, 나는에 관리 다음과 비슷한 것을 사용하여 GamePacket
을 Data
으로 변환하십시오.
let data = NSData(bytes: &packet, length: MemoryLayout<GamePacket>.size) as Data
그러나, 나는 수신 측에 GamePacket
로 다시 Data
변환도 확실이 그것을 할 올바른 방법이 생각하는 방법을 알아낼 수 없습니다.
모든 도움이 크게 감사드립니다. 고맙습니다.