1
我在制作Game Center游戏。我发送包含struct MovePacket
这样的数据包:在Swift中从NSData中提取结构
var packet = MovePacket(packetID: 1, move: myMove)
let dataPacket = NSData(bytes: &packet, length: sizeof(MovePacket))
currentMatch!.sendDataToAllPlayers(dataPacket, withDataMode: GKMatchSendDataMode.Reliable, error: nil)
这就像在Objective-C,但我不知道如何接收NSData
解码回到我struct MovePacket
。这是我的尝试之一:
func match(match: GKMatch!, didReceiveData data: NSData!, fromRemotePlayer player: GKPlayer!) {
var packet : MovePacket
data.getBytes(&packet, length: sizeof(MovePacket)) // getting error here: Address of variable 'packet' taken before it is initialized
println(packet) //Variable 'packet' used before being initialized
}
您是否尝试过'VAR包:MovePacket()'? – 2014-10-10 18:02:10
我没有看到您的代码中提到的任何日期。你的意思是说“从** NSData **解码它”? – 2014-10-10 18:28:25
@robmayoff我的意思是数据不是日期。感谢您的编辑。 – 2014-10-10 19:45:05