这是我的代码:
if GKLocalPlayer.localPlayer().authenticated {
if mode == 60 {
var scoreReporter2 = GKScore(leaderboardIdentifier: "countrymaster60") //leaderboard id here
scoreReporter2.value = Int64(score) //score variable here (same as above)
var scoreArray: [GKScore] = [scoreReporter2]
GKScore.reportScores(scoreArray, withCompletionHandler: {(error : NSError!) -> Void in
if error != nil {
print("error")
}
它给出的错误信息:
无法使用类型的参数列表调用“reportScores” '([GKScore],withCompletionHandler :( NSError!) - > Void)'
有什么建议吗?
答案 0 :(得分:1)
文档说方法签名是:
class func reportScores(_ scores: [GKScore], withCompletionHandler completionHandler: ((NSError?) -> Void)?)
因此,您需要在完成处理程序中将error
变量设为Optional。
更改
GKScore.reportScores(scoreArray, withCompletionHandler: {(error : NSError!) -> Void in
的
GKScore.reportScores(scoreArray, withCompletionHandler: {(error : NSError?) -> Void in