[英]How to retrieve data stored under different key in Firebase Swift?
我正在构建一个允许用户扫描条形码并存储图书信息并将其检索到TableView的应用程序。 书籍存储在当前用户ID->书籍->书籍名称->标题,作者等下。 请参阅下面的JSON结构:-
因此,有些书的名称不同,每当扫描一本新书时,就会将其添加到“书”下。
如何获得不同名称的所有图书的数据?
这是代码,我尝试在其中检索TableViewController中的数据:
var posts = [BooksFromFirebase]()
override func viewDidLoad() {
super.viewDidLoad()
//get reference to data location
let databaseRef = Database.database().reference()
//get current user id
let user = Auth.auth().currentUser
databaseRef.child("users").child((user?.uid)!).child("books").observe(.value, with: { (snapshot) in
if let value = snapshot.value as? [String: AnyObject]{
let assetTitle = value["title"] as? String ?? ""
print("Title ",assetTitle)
let title = assetTitle
let type = "Book"
self.posts.insert(BooksFromFirebase(title: title, type: type), at: 0)
self.tableView.reloadData()
}
})
}
尝试使用这个:
Database.database().reference().child("users/(user!.uid)/books").observeSingleEvent(of: .value, with: {(Snapshot) in
if let eachDict = Snapshot.value as? NSDictionary{
for each in eachDict{
print(each.key ?? "No Data")
print(each.value ?? "No Data")
print((each.value as! NSDictionary)["title"] ?? "No data")
}
}
}, withCancel: {(Err) in
// Handle error encountered while communicating via firebase
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.