ios - 如何在比赛中将数据从 GKPlayer 发送到另一个?

标签 ios swift game-center

我想在比赛中将 NSDataGKPlayer 发送到另一个。因此,方法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/

相关文章:

ios - 在持久性游戏中处理多个iOS Game Center用户

在 Cordova 中使用 Angular/嵌入 youtube 更改 IFRAME src 时 IOS 内存积累?

ios - 为什么即使在主线程上也需要使用 DispatchQueue.main.async 设置 UIImageView.image

ios - 如何在 Swift 中更改按钮标题对齐方式?

swift - UICollectionView 部分页眉和页脚显示错误的方式 - iOS

ios - 游戏中心排行榜 - 无法将 GKLeaderboardViewController 委托(delegate)设置为自身(CCLayer)

ios - 您如何在多个 View 之间设置相等的空间并使其根据设备而变化?

ios - 隐藏导航栏但保留栏按钮

swift - Swift 中神秘的 float 转换错误

iphone - 游戏中心发布虚假分数 - iPhone