实时更新分数
Posted
技术标签:
【中文标题】实时更新分数【英文标题】:Update score in real time 【发布时间】:2015-08-25 18:42:58 【问题描述】:我想创建一个可以实时更新的应用。这有点像游戏。这是我正在尝试做的事情:
玩家会玩,一旦有人获得最高分(在他玩的时候),它应该在所有设备上显示,并且分数应该随着高分用户的玩而不断变化。
我基本上是在尝试获得像agars game 这样的排行榜,其中的名称不断变化。
我遇到了firebase,但我不确定如何实现它。
我将如何处理添加新数据?
我应该在 xcode 中为每个新的高分添加一个新的,还是应该在浏览器中手动添加一堆,然后将它们的值替换为高分?
【问题讨论】:
见firebase.com/docs/ios/quickstart.html 【参考方案1】:如果您查看 FireBase SwiftChat 演示,您可以通过代码找到如何观察 FireBase 事件的完美解释
这是需要的类
https://github.com/firebase/ios-swift-chat-example/blob/master/FireChat-Swift/MessagesViewController.swift
这是你需要查看的部分,它是上面类的副本
func setupFirebase()
// *** STEP 2: SETUP FIREBASE
messagesRef = Firebase(url: "https://swift-chat.firebaseio.com/messages")
// *** STEP 4: RECEIVE MESSAGES FROM FIREBASE (limited to latest 25 messages)
messagesRef.queryLimitedToNumberOfChildren(25).observeEventType(FEventType.ChildAdded, withBlock: (snapshot) in
let text = snapshot.value["text"] as? String
let sender = snapshot.value["sender"] as? String
let imageUrl = snapshot.value["imageUrl"] as? String
let message = Message(text: text, sender: sender, imageUrl: imageUrl)
self.messages.append(message)
self.finishReceivingMessage()
)
func sendMessage(text: String!, sender: String!)
// *** STEP 3: ADD A MESSAGE TO FIREBASE
messagesRef.childByAutoId().setValue([
"text":text,
"sender":sender,
"imageUrl":senderImageUrl
])
这里是整个项目
https://github.com/firebase/ios-swift-chat-example
【讨论】:
感谢您的回答!我不确定代码发生了什么。你能解释一下发生了什么吗?谢谢! 哥们,如果你不明白上面的代码是怎么回事,你确定要写游戏吗?!? :-) 因为它已经被 Firebase 评论了?他们的网站上有完整的文档?!? 我的错!我没有检查文档!我在这里发布了另一个问题。 ***.com/questions/32214918/…以上是关于实时更新分数的主要内容,如果未能解决你的问题,请参考以下文章