【发布时间】:2016-12-08 11:44:17
【问题描述】:
我有一个 tableView 可以获取我的 Firebase 数据库中的所有用户。 tableView 单元格仅显示用户名、电子邮件和个人资料图像。问题是我还希望用户在用户节点的 UID 下存储一个属性键,该键将保存他们在应用程序中选择的属性数组(本例中的属性将是 ["food", "drink ", "sports"]) 并且我只想显示与当前登录用户具有 3 个或更多相同属性的用户。
第一个问题是我不知道如何在我的 UID 下将属性数组添加到我的 firebase 数据库,因为它保存为属性节点,其中包含从索引 0 到索引 2 的列表(3 个键 0, 1,2) 使用字符串“food”、“drink”、“sports”。我也不知道这是否是解决此问题的最佳方法。任何帮助将不胜感激。
第二个问题是我不知道如何获取新用户并将其添加到我的 tableView 中,前提是该用户与当前用户具有相同的属性。 这是我当前获取所有用户的代码,没有任何过滤:
func fetchUser() {
FIRDatabase.database().reference().child("users").observe(.childAdded, with: { (snapshot) in
if let dictionary = snapshot.value as? [String: AnyObject] {
let user = User()
user.setValuesForKeys(dictionary)
self.users.append(user)
DispatchQueue.main.async(execute: {
self.tableView.reloadData()
})
}
}, withCancel: nil)
}
class User: NSObject {
var name: String?
var email: String?
var numberId: String?
var attributes: String?
var password: String?
var profileImageUrl: String?
}
【问题讨论】:
标签: arrays swift uitableview firebase firebase-realtime-database