将Firebase数据附加到Swift ios中的数组

时间:2016-09-08 09:09:06

标签: arrays swift firebase firebase-realtime-database

我不知道我做错了什么!我只是想从Firebase数据库获取数据并迭代每个结果并将它们放入一个数组中。我尝试了不同的方法。但它们都返回结果,一次向数组添加一个结果。我有以下数据:

    {
      "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
      },
      ....... 

而且,我使用的代码如下:

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)



        })

    }

结果是:

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

我想只得到最后一个数组:[3,1,4,4]

我该怎么做?谢谢

1 个答案:

答案 0 :(得分:0)

% compute distance
d2 = repmat(sum(coord.^2,2),1,size(means,1)) + repmat(sum(means.^2,2)',size(coord,1),1) - 2*coord*means';
% Assign to nearest cluster
[~, assigns] = min(d2,[],2);