Swift4とFirebase子の値をカウントする方法

user8744679

値が1に等しいすべてのユーザーを返すことで、どのようにタップしたかをすべてのユーザーの数を取得しようとしています。これは適切な方法ですか。以下は、それらが実行されるかどうかを設定するために使用している関数です。誰かが私が行くすべての人の数を返すのを手伝ってくれますか

func didTapGoing(for cell: HomePostCell) {
    guard let indexPath = collectionView?.indexPath(for: cell) else { return }
    var post = self.posts[indexPath.item]

    guard let postId = post.id else { return }

    guard let uid = FIRAuth.auth()?.currentUser?.uid else { return }

    let values = [uid: post.isGoing == true ? 0 : 1]
    FIRDatabase.database().reference().child("going").child(postId).updateChildValues(values) { (err, _) in

        if let err = err {
            print("Failed to pick going", err)
            return
        }

        post.isGoing = !post.isGoing
        self.posts[indexPath.item] = post
        self.collectionView?.reloadItems(at: [indexPath])
    }
}

データベース

フランク・ヴァン・パッフェレン

共有したコードはデータを読み取りませんが、で更新するだけupdateChildValuesです。

子ノードの数を数えるには、それらのノードを読み取ってからを呼び出す必要がありますDataSnapshot.childrenCount

FIRDatabase.database().reference().child("going").child(postId).observe(DataEventType.value, with: { (snapshot) in
  print(snapshot.childrenCount)
})

値が1の子ノードのみをカウントする場合は、次のようにします。

FIRDatabase.database().reference().child("going").child(postId)
  .queryOrderedByValue().queryEqual(toValue: 1)
  .observe(DataEventType.value, with: { (snapshot) in
    print(snapshot.childrenCount)
  })

詳細については、データの並べ替えとフィルタリングに関するFirebaseのドキュメントをご覧ください

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Swift4でこれまでの簡単なカウントダウンを作成する

分類Dev

Swift4のifletステートメント内で値を返す方法は?

分類Dev

Swift 4:文字列参照はカウントされますか?そのカウントを取得する方法

分類Dev

Swift4で辞書を配列としての値とマージする

分類Dev

fontAwesomeを使用してカスタムアイコンをSwift4のUIbuttonに追加する方法

分類Dev

Swift4のアンカーを使用してプログラムでUIScrolllViewにビューを追加する方法

分類Dev

2つの日付を比較し、Swift4でそれらの間のタイマーカウントダウンを行う方法

分類Dev

swift4で配列型のJSON値にデータを追加する方法

分類Dev

カウントと値のペアの標準偏差を計算する方法

分類Dev

json形式の列でキーと値のペアをカウントする方法

分類Dev

複数の行と同じ列の各値をカウントする方法は?

分類Dev

FirebaseとSwift子の値で特定のレコードを取得する方法は?

分類Dev

プロトコルと `Self`を使って存在を偽造するSwift4の方法

分類Dev

列とグループの値を範囲でカウントする方法は?

分類Dev

1つのmysqlと同じ値をカウントする方法は?

分類Dev

列ごとに配列値をカウントする方法は?

分類Dev

値の出現をカウントし、そのカウントをその値の行の新しい値として設定する方法

分類Dev

swift4のuitableViewに複数のセクションを追加する方法

分類Dev

Swift4のシーケンスプロトコルに準拠する方法

分類Dev

SQL行内の特定の値の数をカウントする方法

分類Dev

XSLTの各親の個別の最初の子値要素をカウントする

分類Dev

CodableFirebaseとカスタムクラスを使用してFirestoreからnil値を処理するSwift4

分類Dev

Swift4のバーボタンに背景画像を配置する方法

分類Dev

プログラムでSwift4のボタンを非表示にする方法

分類Dev

swift4でUIImagePickerControllerを使用する方法

分類Dev

tableViewの値をラベルSwift4に追加する

分類Dev

毎月の値の発生をカウントする方法

分類Dev

Swift4:UITableViewControllerでreloadDataとdeselectRowを使用する方法は?

分類Dev

iOS画像とデータを暗号化する方法Swift4

Related 関連記事

  1. 1

    Swift4でこれまでの簡単なカウントダウンを作成する

  2. 2

    Swift4のifletステートメント内で値を返す方法は?

  3. 3

    Swift 4:文字列参照はカウントされますか?そのカウントを取得する方法

  4. 4

    Swift4で辞書を配列としての値とマージする

  5. 5

    fontAwesomeを使用してカスタムアイコンをSwift4のUIbuttonに追加する方法

  6. 6

    Swift4のアンカーを使用してプログラムでUIScrolllViewにビューを追加する方法

  7. 7

    2つの日付を比較し、Swift4でそれらの間のタイマーカウントダウンを行う方法

  8. 8

    swift4で配列型のJSON値にデータを追加する方法

  9. 9

    カウントと値のペアの標準偏差を計算する方法

  10. 10

    json形式の列でキーと値のペアをカウントする方法

  11. 11

    複数の行と同じ列の各値をカウントする方法は?

  12. 12

    FirebaseとSwift子の値で特定のレコードを取得する方法は?

  13. 13

    プロトコルと `Self`を使って存在を偽造するSwift4の方法

  14. 14

    列とグループの値を範囲でカウントする方法は?

  15. 15

    1つのmysqlと同じ値をカウントする方法は?

  16. 16

    列ごとに配列値をカウントする方法は?

  17. 17

    値の出現をカウントし、そのカウントをその値の行の新しい値として設定する方法

  18. 18

    swift4のuitableViewに複数のセクションを追加する方法

  19. 19

    Swift4のシーケンスプロトコルに準拠する方法

  20. 20

    SQL行内の特定の値の数をカウントする方法

  21. 21

    XSLTの各親の個別の最初の子値要素をカウントする

  22. 22

    CodableFirebaseとカスタムクラスを使用してFirestoreからnil値を処理するSwift4

  23. 23

    Swift4のバーボタンに背景画像を配置する方法

  24. 24

    プログラムでSwift4のボタンを非表示にする方法

  25. 25

    swift4でUIImagePickerControllerを使用する方法

  26. 26

    tableViewの値をラベルSwift4に追加する

  27. 27

    毎月の値の発生をカウントする方法

  28. 28

    Swift4:UITableViewControllerでreloadDataとdeselectRowを使用する方法は?

  29. 29

    iOS画像とデータを暗号化する方法Swift4

ホットタグ

アーカイブ