I need to arrange my firebase data by date (unix). I thought queryOrdered(byChild: "date") would do the trick. Done a search and found this which makes sense:
But when you request the .value of the snapshot, the keys+data are converted to a Dictionary. Since a dictionary does not have an extra place to put the information about the order, that information is lost when converting to a dictionary.
Using the same json but modified with unix dates...:
{
  "users" : {
    "alovelace" : {
      "name" : "Last Year",
      "date" : 1480550400
    },
    "eclarke" : {
      "name" : "New Year Now",
      "date" : 1483228800
    },
    "ghopper" : {
      "name" : "New Year",
      "date" : 1483228800
    }
  }
}
... how to sort when my code is like this:
DataService.ds.REF_INCOMES.queryOrdered(byChild: "date").observe(.value, with: { (snapshot) in
    if let snapshot = snapshot.children.allObjects as? [FIRDataSnapshot] {
        print(snapshot)
        for snap in snapshot {
            if let incomeDict = snap.value as? [String: AnyObject] { // What needs to change here?
                let key = snap.key
                let income = Income(incomeId: key, incomeData: incomeDict)
                self.incomes.append(income)
                self.incomes.reverse()
            }
        }
    }
    self.tableView.reloadData()
})
The image below, "Last Year" should be last but it's not:
I have a ruby mentality so Im lost with swift. Thanks.
