Ios 如何在比赛中从一名球员向另一名球员发送数据?

Ios 如何在比赛中从一名球员向另一名球员发送数据?,ios,swift,game-center,Ios,Swift,Game Center,我想在比赛中从一名球员向另一名球员发送NSData。因此,该方法将是最理想的 func sendDataToAllPlayers(data: Int, withDataMode Reliable: GKMatchSendDataMode, error: NSErrorPointer) -> Bool { return true } 但是,如何使用上述方法发送Int变量 var score:Int = 0 此版本用于将Int(或其他类型)封装到NSData中或从

我想在比赛中从一名球员向另一名球员发送
NSData
。因此,该方法将是最理想的

func sendDataToAllPlayers(data: Int,
    withDataMode Reliable: GKMatchSendDataMode,
    error: NSErrorPointer) -> Bool {

    return true
}
但是,如何使用上述方法发送
Int
变量

var score:Int = 0

此版本用于将
Int
(或其他类型)封装到
NSData
中或从中提取
Int
,即使在具有不同字节顺序的设备之间也应适用:

// at sender before sending data
let data = NSMutableData()
let archiver = NSKeyedArchiver(forWritingWithMutableData: data)
archiver.encodeInteger(score, forKey: "score")
archiver.finishEncoding()

// at receiver after receiving data
let unarchiver = NSKeyedUnarchiver(forReadingWithData: data)
let score = unarchiver.decodeIntegerForKey("score")
unarchiver.finishDecoding()

此版本用于将
Int
(或其他类型)封装到
NSData
中或从中提取
Int
,即使在具有不同字节顺序的设备之间也应适用:

// at sender before sending data
let data = NSMutableData()
let archiver = NSKeyedArchiver(forWritingWithMutableData: data)
archiver.encodeInteger(score, forKey: "score")
archiver.finishEncoding()

// at receiver after receiving data
let unarchiver = NSKeyedUnarchiver(forReadingWithData: data)
let score = unarchiver.decodeIntegerForKey("score")
unarchiver.finishDecoding()

您需要将Int转换为NSData并返回Int吗?我可能需要。这对我来说是更好的解决办法。非常感谢您的帮助。谢谢您需要将Int转换为NSData并返回Int吗?我可能需要。这对我来说是更好的解决办法。非常感谢您的帮助。谢谢非常感谢。在
sendDataToAllPlayers(\u:withDataMode:error:)
方法中如何使用此代码?再次感谢。我不确定这个代码是否是我想要的,因为它代表了我问题的部分答案。你看到我发布的最后一个链接了吗?谢谢你发布这些链接。最后两篇内容丰富。谢谢你发布它们。现在就开始做。你当然应该得到我的+1。非常感谢,谢谢!在
sendDataToAllPlayers(\u:withDataMode:error:)
方法中如何使用此代码?再次感谢。我不确定这个代码是否是我想要的,因为它代表了我问题的部分答案。你看到我发布的最后一个链接了吗?谢谢你发布这些链接。最后两篇内容丰富。谢谢你发布它们。现在就开始做。你当然应该得到我的+1。非常感谢你。