我想在比赛中将 NSData
从 GKPlayer
发送到另一个。因此,方法sendDataToAllPlayers(_:withDataMode:error:)
将是最理想的。
func sendDataToAllPlayers(data: Int,
withDataMode Reliable: GKMatchSendDataMode,
error: NSErrorPointer) -> Bool {
return true
}
但是,我怎样才能使用上面的方法发送一个 Int
变量呢?
var score:Int = 0
最佳答案
extension Int {
var data: NSData {
var source = self
return NSData(bytes: &source, length: sizeof(Int))
}
}
extension Double {
var data: NSData {
var source = self
return NSData(bytes: &source, length: sizeof(Double))
}
}
extension NSData {
var integerValue:Int {
var result = 0
getBytes(&result, length: sizeof(Int))
return result
}
var doubleValue:Double {
var result:Double = 0
getBytes(&result, length: sizeof(Double))
return result
}
}
let myIntegerData = 123.data // _NSInlineData
let backToInt = myIntegerData.integerValue // 123
let myDoubleData = 123.456789.data // _NSInlineData
let backToDouble = myDoubleData.doubleValue // 123.456789
关于ios - 如何在比赛中将数据从 GKPlayer 发送到另一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28662770/