- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在我的 SwiftUI 应用程序中添加排行榜。
我找不到任何使用 loadEntries 加载排行榜值的示例。我尝试了以下...
let leaderBoard: GKLeaderboard = GKLeaderboard()
leaderBoard.identifier = "YOUR_LEADERBOARD_ID_HERE"
leaderBoard.timeScope = .allTime
leaderBoard.loadScores { (scores, error) in ...
这会导致以下警告:
使用 loadEntriesForPlayerScope 会导致以下警告:
使用loadEntries 我不知道如何指定排行榜标识符。
最佳答案
这是可能方法的简单演示 - 将所有内容放入 View 模型并在 View 中加载分数。
import GameKit
class BoardModel: ObservableObject {
private var board: GKLeaderboard?
@Published var localPlayerScore: GKLeaderboard.Entry?
@Published var topScores: [GKLeaderboard.Entry]?
func load() {
if nil == board {
GKLeaderboard.loadLeaderboards(IDs: ["YOUR_LEADERBOARD_ID_HERE"]) { [weak self] (boards, error) in
self?.board = boards?.first
self?.updateScores()
}
} else {
self.updateScores()
}
}
func updateScores() {
board?.loadEntries(for: .global, timeScope: .allTime, range: NSRange(location: 1, length: 10),
completionHandler: { [weak self] (local, entries, count, error) in
DispatchQueue.main.async {
self?.localPlayerScore = local
self?.topScores = entries
}
})
}
}
struct DemoGameboardview: View {
@StateObject var vm = BoardModel()
var body: some View {
List {
ForEach(vm.topScores ?? [], id: \.self) { item in
HStack {
Text(item.player.displayName)
Spacer()
Text(item.formattedScore)
}
}
}
.onAppear {
vm.load()
}
}
}
关于SwiftUI GKLeaderboard loadEntries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64850828/
我想在我的 SwiftUI 应用程序中添加排行榜。 我找不到任何使用 loadEntries 加载排行榜值的示例。我尝试了以下... let leaderBoard: GKLeaderboard =
如何检索 GKLeaderboard 的所有分数? (我正在制作自己的排行榜图形)。我需要知道某个排行榜中的分数数量,但似乎无法通过轮询 GC 来获取此类信息? http://developer.ap
我现在正在开发 Game Center。在 Apple 的游戏中心编程指南 (Listing 4-11) 中,有一个示例代码可以检索排行榜的最高分: GKLeaderboard *leaderboar
好的,所以我花了很多时间在互联网上搜索这方面的帮助,但没有成功,所以我需要一些帮助。 我正在使用 SpriteKit 制作游戏,我决定实现我自己的排行榜样式,而不是笨拙的 Game Center 默认
我现在正在使用 Game Center,但我遇到了 GC 问题。当我使用 initWithPlayerIDs: 时,调用 loadScoresWithCompletionHandler: 回调时我没有
我一直在使用 GKLeaderboard.loadScoresWithCompletionHandler 然后是 localPlayerScore 属性,这样我就可以从 Game Center 检索用
我是一名优秀的程序员,十分优秀!