Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Firebase中的简单查询_Ios_Swift_Firebase_Firebase Realtime Database - Fatal编程技术网

Ios Firebase中的简单查询

Ios Firebase中的简单查询,ios,swift,firebase,firebase-realtime-database,Ios,Swift,Firebase,Firebase Realtime Database,我是斯威夫特消防基地的新成员,我看到有更多的人在同一条船上。我的想法是检索每个球员的得分。 Firebase db如下所示: 它位于根引用dbRef=FIRDatabase.database.reference上 我的代码是这样做的: dbRef.queryOrdered(byChild: "score").observeSingleEvent(of: .value) { (snap: FIRDataSnapshot) in for child in snap.children{

我是斯威夫特消防基地的新成员,我看到有更多的人在同一条船上。我的想法是检索每个球员的得分。 Firebase db如下所示:

它位于根引用dbRef=FIRDatabase.database.reference上 我的代码是这样做的:

dbRef.queryOrdered(byChild: "score").observeSingleEvent(of: .value) { (snap: FIRDataSnapshot) in
        for child in snap.children{
            print(child)
        }
    }
正在终端中生成以下消息:

Snap (zfUNewjOCsQ5VCtSLFXSXLSFXtJ3) {
    addedByUser = "julio@gmail.com";
    score = 100;
}
Snap (yfJqO65qCwTTlgzrcw1ovmPgZ6l2) {
    addedByUser = "oswaldo@gmail.com";
    score = 1000;
}
如何获得分数,以便终端中打印的消息如下:

一百

一千

提前感谢

您可以使用childSnapshotForPath获得分数:

dbRef.queryOrdered(byChild: "score").observeSingleEvent(of: .value) { (snap: FIRDataSnapshot) in
    for child in snap.children{
        print((child as AnyObject).childSnapshot(forPath: "score").value)
    }
}

请参见

正确答案,Xcode抱怨的唯一一件事是将AnyValue转换为AnyObject>>将Child转换为AnyObject.childSnapshotforPath:score.Value为此,我更新了答案中的代码。快速施法对我来说仍然是一种神奇的咒语。