2017-03-11 56 views
1

我还想获得与snapshot.key快照的UID如果snapshot.value被“待定”。将其存储到数组中。然后我想通过UID的阵列环和拉从.child所有细节(“用户”),即“电子邮件”,“姓名” &“profileURL”。不知道这里最好的路线是什么。我是否将快照存储到字典中,然后将字典过滤为“挂起”,或者在快照调用本身内部执行此操作?从数组值查找火力地堡儿童 - Xcode的8/3迅速

朋友&用户JSON结构在我火力地堡数据库(如下)

{ 
    "friends" : { 
    "YPQYLtXnMbbmFugrJJPYe6rOIJg2" : { 
     "Z6PnyFKSR9MBMd9dfCEs0VMIOog2" : "pending" 
    }, 
    "Z6PnyFKSR9MBMd9dfCEs0VMIOog2" : { 
     "YPQYLtXnMbbmFugrJJPYe6rOIJg2" : "pending", 
     "ZyAV7PH4VHWnLyWrWaZty5C9RWT2" : "pending", 
     "lNI9FxCErqMUNiW43yiDpkNoljg1" : "pending" 
    }, 
    "ZyAV7PH4VHWnLyWrWaZty5C9RWT2" : { 
     "Z6PnyFKSR9MBMd9dfCEs0VMIOog2" : "pending" 
    }, 
    "lNI9FxCErqMUNiW43yiDpkNoljg1" : { 
     "Z6PnyFKSR9MBMd9dfCEs0VMIOog2" : "pending" 
    } 
    }, 
    "users" : { 
    "YPQYLtXnMbbmFugrJJPYe6rOIJg2" : { 
     "email" : "[email protected]", 
     "name" : "Karen Alaedidibgghi Liangescu", 
     "profileURL" : "someURL" 
    }, 
    "Z6PnyFKSR9MBMd9dfCEs0VMIOog2" : { 
     "email" : "[email protected]", 
     "name" : "Patricia Alaefhcbebjid Warmansen", 
     "profileURL" : “someURL” 
    }, 
    "ZyAV7PH4VHWnLyWrWaZty5C9RWT2" : { 
     "email" : "[email protected]", 
     "name" : "Harry Alaeejdjagjga Greenestein", 
     "profileURL" : "someURL" 
    }, 
    "lNI9FxCErqMUNiW43yiDpkNoljg1" : { 
     "email" : "[email protected]", 
     "name" : "Maria Alaefehgadbdg Valtchanovsky", 
     "profileURL" : "someURL" 
    } 
    } 
} 

任何帮助极大的赞赏。干杯!

回答

1

这里是你如何会开始,一旦你有你的分析数据,可以使用不同的方法来过滤它,你可以看一下through different stackoverflow questions answered in the past

let dbRef = FIRDatabase.database().reference.child("friends") 
dbRef.observeSingleEvent(of: .value, with: { snapshot in 
    if let data = snapshot.value as? [String: [String: String]] { 
     for user in data { 
      // You'll now have a dictionary with neatly formatted values you can filter 
     } 
    } 
})