所以我的Firebase数据结构如下所示:
我的问题很简单。如何访问通过childByAutoID方法存储的ID,即它们的值的关键。我想这样做的原因是因为我想创建一个将保存ID的变量,这只是(childByAutoId生成的值),例如,如果你查看我的JSON数据结构图像,KMVrGnR76E6vrj61K21将被存储在变量和这一点。我当前的查询如下所示:
databaseRef.child("Jokes").observeSingleEventOfType(.Value, withBlock: { (snapshot) in
let jokeId = snapshot.//something??? not .key as this returns Jokes
})
我知道childByAutoId会生成一个唯一的标识符,但肯定有一种方法可以检索和存储该标识符(仅此一个,而不是所有的标识符),原因显而易见......
答案 0 :(得分:2)
snapshot.key
应该为每个笑话提供ID
答案 1 :(得分:2)
我有答案。要访问随机生成的autoId的密钥,您必须将其作为FIRDataSnapShot传递。
for snap in snapshot.children.allObjects {
let id = snap as! FIRDataSnapshot
print(id.key)
}
这将为您提供随机生成的密钥。
答案 2 :(得分:0)
在for块中,joke.key
将是当前孩子的id。