0
Firebaseからデータを読み取るコードには条件付きが必要です。私はSQLのような "WHERE project = 'test'"のような条件付きが必要です。私はそれをSwiftに書きます。Firebaseから条件付きでデータを読み取る
私はFirebaseからの読み出しデータのため、このコードがあります。
var ref:FIRDatabaseReference?
var databaseHandle:FIRDatabaseHandle?
var tasks = [Task]()
var uid = (FIRAuth.auth()?.currentUser?.uid)! as String
override func viewDidLoad() {
super.viewDidLoad()
ref = FIRDatabase.database().reference().child("\(uid)/Tasks")
startObservetingDB()
}
func startObservetingDB() {
ref?.observe(.value, with: { (snapshot:FIRDataSnapshot) in
var newSweets = [Task]()
for sweet in snapshot.children {
let sweetObject = Task(snapshot: sweet as! FIRDataSnapshot)
newSweets.append(sweetObject)
}
self.tasks = newSweets
self.tableView.reloadData()
}) { (error:Error) -> Void in
print(error.localizedDescription)
}
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "TasksCell", for: indexPath) as! TasksCell
let arrayTasks = tasks[indexPath.row]
cell.taskName.text = arrayTasks.content
return cell
}
をそして私はこのFirebaseの構造を有する:
誰も私を助けてくださいことはできますか?
は答えをどうもありがとう、私は構造を変更した場合"$ ProjectId(" test "など)を編集できますか?私は "updateChildValues"を使用する必要があることを知っていますが、私はそれをどのように使用するか分かりません。 – user7355869
プロジェクトIDは、自動生成された無意味なキーである必要があります。決して編集する必要はありません。プロジェクトの名前はメタデータで、プロパティの値にする必要があります。例えば。 '/ Projects/$ ProjectId:{名前:"テスト "}' –