2 votes

Ajouter des données Firebase à un tableau en Swift ios

Je ne sais pas ce que je fais de mal ! Je veux simplement prendre des données de la base de données Firebase et itérer pour chaque résultat et les mettre dans un tableau. J'ai essayé plusieurs approches différentes. Mais elles renvoient toutes des résultats qui sont ajoutés un par un au tableau. J'ai des données comme ci-dessous :

    {
      "1400001" : {
        "HHtype" : 3,
        "Sesgrup" : 4,
        "lg_Et harcaması" : 0,
        "lg_Total Harcama" : 3.11
      },
      "1400002" : {
        "HHtype" : 1,
        "Sesgrup" : 4,
        "lg_Et harcaması" : 1.2,
        "lg_Total Harcama" : 3.15
      },
      "1400004" : {
        "HHtype" : 3,
        "Sesgrup" : 4,
        "lg_Et harcaması" : 1.18,
        "lg_Total Harcama" : 3.06
      },
      "1400005" : {
        "HHtype" : 4,
        "Sesgrup" : 3,
        "lg_Et harcaması" : 2.21,
        "lg_Total Harcama" : 3.74
      },
      ....... 

Et, j'utilise le code suivant :

func sen(){
        var rootRef: FIRDatabaseReference!
        var refHandle: UInt!
        var haneRef: FIRDatabaseReference!
        var numbersArray = [Int] ()

        rootRef = FIRDatabase.database().reference()
        haneRef = rootRef.child("SES2014")

        haneRef.queryOrderedByChild("lg_Et harcaması").queryLimitedToLast(4).observeEventType(.ChildAdded, withBlock: { (snapshot) in
            let hhtype = snapshot.value!["HHtype"] as? Int
            numbersArray.append(hhtype!)
            print(numbersArray)

        })

    }

Et, le résultat est :

[3]
[3, 1]
[3, 1, 4]
[3, 1, 4, 4]

Je veux obtenir seulement le dernier tableau : [3, 1, 4, 4]

Comment puis-je le faire ? Merci

0voto

Đinh Quang Hiếu Points 413
func sen(){
        var rootRef: FIRDatabaseReference!
        var refHandle: UInt!
        var haneRef: FIRDatabaseReference!
        var numbersArray = [Int] ()

        rootRef = FIRDatabase.database().reference()
        haneRef = rootRef.child("SES2014")

        let queryCount = 4
        haneRef.queryOrderedByChild("lg_Et harcaması").queryLimitedToLast(queryCount).observeEventType(.ChildAdded, withBlock: { (snapshot) in
            let hhtype = snapshot.value!["HHtype"] as? Int
            numbersArray.append(hhtype!)
            queryCount -= 1
            if queryCount <= 0 {
                print(numbersArray)
            }

        })

    }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X