2016-03-30 14 views
0

ImageURL verilerini bellekte önbelleğe almak ve ImageShack'i yüklemek için Firfase ile Alamofire, AlamofireImage kullanıyorum.Swift - Firebase'de Azalan sorguyu nasıl sıralanır?

Yapılmaya çalışılan sorguyu oluşturmaya çalıştım ancak arama yapamadım ancak olası bir açıklama bulamadım. İşte Firebase üzerindeki ref_post testim.

childByAutoId()

- userUid

- imageUrl

-.

* NSDate() Kullanma (I this kullanarak oluşturduğunuz) zaman damgası formattedISO8601 En iyi yol mu, yoksa temelde kullanmamı tavsiye edebilir misiniz?

Aşağı inen sorguyu Firbase IOS/Swift'de nasıl yapabilirim.

let query = DataService.ds.REF_POSTS.queryOrderedByChild("timestamp") 

    query.observeEventType(.Value, withBlock: { snapshot in 

     if let snapshots = snapshot.children.allObjects as? [FDataSnapshot] { 
      self.posts = [] 
      for snap in snapshots { 
       if let postDict = snap.value as? Dictionary<String, AnyObject> { 

        print(postDict) 

        let post = Post(imageUrl: postDict["imageUrl"]! as? String, username: DataService.ds.REF_USERS.authData.uid) 

        self.posts.append(post) 
       } 
      } 

      self.tableView.reloadData() 
     } 
    }) 

cevap

4
self.posts = self.posts.reverse() 

, ben şahsen döner timeIntervalSinceReferenceDate() kullanmak NSDate örneklerini kaydetmek için bir NSTimeInterval sonra Firebase kaydedebilirim (a Double olan): İşte benim viewDidLoad bu. Verileri okurken, init(timeIntervalSinceReferenceDate:) ile orijinal NSDate'u edinebilirsiniz. Bunun yerine

self.posts.append(post) 

kullanım

self.posts.insert(post, at: 0) 

Bu,

+2

sayfalandırma için uygun değil – KutakMir

+0

@Tim Zaman damgası değerini Firebase'de Double veya String olarak mı kaydetmeliyim? Firebase'in "ref.queryOrderedByChild (" timestamp ") ile sorgulama yaparken verileri nasıl sipariş edeceğini merak ediyordum. ObserveEventType (.Value, withBlock: {snapshot in'. Eğer zaman damgası (Double türünde) Firebase'de dize olarak kaydedilirse alınırken anlık görüntü unsurları ne zaman verilecek? – bibscy

+0

@bibscy Zaman damgasını bir tamsayı olarak sakladığımı düşünüyorum, ancak ayrıntıları hatırlamıyorum, muhtemelen sadece denemelisiniz! –

1

listenizin başında öğeler eklemek ve sonuç bir azalan düzende Firebase aldığım artan sırasını tersine çevirir.