gpt4 book ai didi

ios - 如何在 Swift 的 UI 上呈现异步调用提供的数据?

转载 作者:行者123 更新时间:2023-11-29 02:22:14 25 4
gpt4 key购买 nike

我已经设法将以下代码收集到我的 GameCenterHelper 类中。然而我完全迷失了 Swift 的 block 和completionHandlers。有人可以发布一个代码示例,如何在异步完成处理程序到达时访问它提供的数据吗?

class ShowHighscoresScene: SKScene {

override init(size: CGSize) {
super.init(size: size)
gameCenter.getHighscores()
//what kind of parallel-thread-completionHandler-thingy goes here so I can show the highscores when the arrive, if the player is still using this scene?
}
...
}

class GameCenterHelper {
...
func getHighscores() {
leaderboardReceived = nil
let leaderboardRequest = GKLeaderboard() as GKLeaderboard!
leaderboardRequest.identifier = "appId"
if leaderboardRequest != nil
{
leaderboardRequest.loadScoresWithCompletionHandler({ (scores:[AnyObject]!, error:NSError!) -> Void in
if (error != nil)
{
println("error in leaderboard highscore request")
println(error.description)
}
else
{
self.leaderboardReceived = leaderboardRequest
}

})
}
}
...

最佳答案

您可以将它放在 loadScoresWithCompletionHandler 的完成 block 中:

    leaderboardRequest.loadScoresWithCompletionHandler({ (scores:[AnyObject]!, error:NSError!) -> Void in
if (error != nil)
{
println("error in leaderboard highscore request")
println(error.description)
}
else
{
self.leaderboardReceived = leaderboardRequest

// Your data-presenting code goes here:
self.tableView.reloadData()
}

})

关于ios - 如何在 Swift 的 UI 上呈现异步调用提供的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28010842/

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