按随机生成的密钥的子值获取排序数据

时间:2016-12-13 13:35:44

标签: ios swift firebase firebase-realtime-database

- 聊天
  -Messages
    -RandomID
      -Timestamp< ----按此值排序

我无法通过timestamp的值获取排序数据。

class GetChat {

fileprivate var ref = FIRDatabaseReference.init()

var tripArray = NSDictionary()

func getMessage(tripID : String) {
    let userID = FIRAuth.auth()?.currentUser?.uid

    ref = FIRDatabase.database().reference()

    //CHECK HERE FOR QUERY
    let chatRef = ref.child("Trip").child("Users").child(userID!).child("TripList").child(tripID).child("messages").queryOrdered(byChild: "timestamp")

    chatRef.observe(FIRDataEventType.value, with: { (snapshot) in
        let chatData = snapshot.value as! NSDictionary
        self.tripArray = chatData

        print(chatData)     
    })
}

}

这是打印输出

{
"-KSJwiXGN8_jfuxz3XLU" =     {
    arrivaltime = "2:19 AM";
    classtype = BUSINESS;
    depaturetime = "4:19 AM";
    duration = "-2:0";
    endpoint = NPD;
    flightname = "AIR MANDALAY";
    message = "Flight Info";
    price = 216;
    processtype = Flight;
    senderid = SFwmYDYRV3a6FJSSov6wsoLY0yv2;
    startdate = "Thu,24/09";
    startpoint = YGN;
    status = 2;
    stop = 2;
    timestamp = "1481528287.151";
    type = form;
};
"-KSKNuQnEA__57zSb0Nf" =     {
    address = hvb;
    checkin = "Sun,27/09";
    checkout = "Wed,30/09";
    hotelname = mandalay;
    message = "Hotel Info";
    price = "41.6";
    processtype = Hotel;
    rating = 3;
    roomtype = deluxe;
    senderid = SFwmYDYRV3a6FJSSov6wsoLY0yv2;
    status = 0;
    timestamp = "1481528287.153";
    totalnight = 4;
    totalprice = 2246;
    type = form;
};
"-KYlxp2OhxNYs_3-5gfr" =     {
    message = "hello baby";
    senderid = CLZV060eKBOveRIm2zcpd8PfT5w2;
    timestamp = "1481528287.152";
    type = text;
};

}

如你所见。

打印输出未按时间戳的值从低到高依次排序。

0 个答案:

没有答案