私のfirebaseデータベースから私の子供の値を更新しようとしていますが、私の子供の値が1増えるごとに問題が発生します。 。代わりに子の値だけを更新するようにするにはどうすればよいですか?事前にあなたの助けをありがとう。新しい子を追加せずに子値を変更/更新する(Firebase-swift)
注:明確な理解のための画像を参照してくださいあなたは1で、リストからデータソースのカウント増分を要素を追加したが、その後childAddedのためのあなたのfirebaseコールバックが取得
var ref: DatabaseReference?
var databaseHandle: DatabaseHandle?
var postData = [String]()
var postData2 = [String]()
class TableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
ref = Database.database().reference() //set the firebase reference
// Retrieve the post and listen for changes
databaseHandle = ref?.child("Posts").observe(.childChanged, with: { (snapshot) in
// Code to execute when a child is added under "Posts"
let post1 = snapshot.key
let post2 = (snapshot.value as AnyObject).description
postData.append(post1)
if let actualPost = post2 {
postData2.append(actualPost)
self.tableView.reloadData()
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return postData.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
cell.textLabel?.text = postData[indexPath.row]
cell.detailTextLabel?.text = postData2[indexPath.row] + " ★"
cell.detailTextLabel?.textColor = UIColor.yellow;
return cell
}
}
あなたはそれのコードを知っていますか?私はこれでかなり新しいです – Kinja
あなたが赤いボタンをタップして(そしてデータベースに新しいレコードを追加すると)実行するコード@IBActionを共有してください。より詳細な回答に更新することができます – jugutier