实时更新分数

时间:2015-08-25 18:42:59

标签: ios swift firebase

我想创建一个具有实时更新功能的应用。它有点像游戏。这就是我要做的事情:

玩家将会玩,并且一旦有人获得最高分,(当他正在玩的时候),它应该在所有设备上显示,并且当高分用户正在玩时,分数应该不断变化

我基本上试图获得像agars game这样的排行榜,其名称不断变化。

我遇到了firebase,但我并不确定如何实施它。

我如何处理添加新数据?

enter image description here

我应该在xcode中为每个新的高分增加一个新的,或者我应该在浏览器中手动添加一堆,然后只替换他们的高分值?

1 个答案:

答案 0 :(得分: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