Недавно я перешел на быстрый 2 после загрузки Xcode 7 beta, и я обнаружил 2 ошибки, которые я исправил с помощью продукта> clean. Я все еще застрял с ошибками, связанными с Game Center.Below - это мой код для сохранения рекорда. (Если это помогает, этот код присутствует на два контроллеров зрения, с разницей в таблицах лидеров идентификаторов и оценке переменных)Сохранение рекорда для Game Center в Swift 2
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 я получаю следующее сообщение об ошибке:
Не могу вызвать 'reportScores' со списком аргументов типа: -
так что я попытался исправить это путем добавления баллов '([GKScore], withCompletionHandler (NSError)> Пустота!)': перед тем scoreArray следующим образом:
GKScore.reportScores(scores: scoreArray, withCompletionHandler: {(error : NSError!) -> Void in
И это дает мне следующую ошибку:
Отсутствует аргумент для параметра «withEligibleChallenges» в вызове
Помощь будет высоко оценен и спасибо заранее
Итак, как мне изменить этот код? – needshelp
Вы можете просто изменить свой код с '(ошибка: NSError!) -> Void' to' error -> Void'. Альтернативно просто используйте сокращенный синтаксис $ 0. –
Я исправил вызов функции, но в коде, где у меня «если ошибка =! Nil» теперь дает ошибку, потому что нет объявления об ошибке. Если я попробую ошибку: NSError говорит, что это неправильно. –