gpt4 book ai didi

ios - 在 Swift 2 中为 Game Center 保存高分

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:42:27 25 4
gpt4 key购买 nike

我最近在下载 Xcode 7 beta 后迁移到 swift 2,我发现了 2 个我使用 product>clean 修复的错误。我仍然遇到 2 个 Game Center 相关错误。下面是我保存高分的代码。 (如果有帮助,这段代码出现在两个 View Controller 上,排行榜 id 和分数变量不同)

func saveHighscore(score:Int) {

//check if user is signed in
if GKLocalPlayer.localPlayer().authenticated {

var scoreReporter = GKScore(leaderboardIdentifier: "ChineseWeather") //leaderboard id here

scoreReporter.value = Int64(Score) //score variable here (same as above)

var scoreArray: [GKScore] = [scoreReporter]

GKScore.reportScores(scoreArray, withCompletionHandler: {(error : NSError!) -> Void in
if error != nil {
print("error")
}
})

}

}

在以 GKScore 开头的行中,我收到以下错误:

无法使用类型为“([GKScore], withCompletionHandler: (NSError!) -> Void)”的参数列表调用“reportScores”

所以我尝试通过添加 scores: before scoreArray 来解决这个问题,如下所示:

GKScore.reportScores(scores: scoreArray, withCompletionHandler: {(error : NSError!) -> Void in

它给了我以下错误:

调用中缺少参数“withEligibleChallenges”的参数

非常感谢您的帮助,并在此先感谢您

最佳答案

根据prerelease documentation ,方法签名已更改为:

class func reportScores(_ scores: [GKScore],
withCompletionHandler completionHandler: ((NSError?) -> Void)?)

这不同于 old documentation其中指出:

class func reportScores(_ scores: [AnyObject]!,
withCompletionHandler completionHandler: ((NSError!) -> Void)!)

请注意对可选 NSError 参数的更改以及使整个处理程序可选。

所以你必须改变你的代码,不要将显式的 error: NSError! 作为你的完成 block 参数。

关于ios - 在 Swift 2 中为 Game Center 保存高分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31015841/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com