2016-08-30 39 views
0

我在排序字典中的某个键时遇到了问题。关键是基本上是一个时间戳,我正在尝试排序我桌子顶部的最新帖子。我不知道是否必须重新加载表格,因为我在另一个循环内有一个循环,或者如果我在cellForRowAtIndexPath中的排序不正确。我看到数据,并且正在通过第一个循环(对于Feed中的项目)进行排序。我无法完成整个循环,然后按字典中的时间戳键排序。任何帮助是极大的赞赏。在字典中对时间戳进行排序TableView

var posts = [Post]() 

func feedPosts(){ 
    for items in feed{ 
     let feedId = items["id"] as! String 
     ref.queryOrderedByChild("myFeed").queryEqualToValue(“\(feedId)”).observeEventType(.Value, withBlock: { snapshot in 
      if let snapshot = snapshot.children.allObjects as? [FIRDataSnapshot] { 
       for snap in snapshot { 
        if let postDict = snap.value as? Dictionary<String, AnyObject> { 
         let key = snap.key 
         let post = Post(postKey: key, postData: postDict) 
         self.posts.insert(post, atIndex: 0) 
        } 
       } 
      } 
      self.tableView.reloadData() 
     }) 
    } 
} 

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let post = posts.sort({$0.postedDate > $1.postedDate})[indexPath.row] 

    let cell = tableView.dequeueReusableCellWithIdentifier("PostCell") as? FeedPostCell 
    cell.configureCell(post) 
    return cell 
} 

恢复单元

class FeedPostCell: UITableViewCell { 

    @IBOutlet var feedTxt: UITextView! 
    var post: Post! 

    func configureCell(post: Post, img: UIImage? = nil) { 
    self.post = post 
    self.feedTxt.text = post.feedTxt 
    if img != nil { 
     self.postImg.image = img 
    } 
    } 
} 

数据结构

-posts 
    - postKey 
    - myFeed : "123" 
    - timestamp: 1472596316060 
    - feedTxt: "Here is my feed text" 
+0

你的时间戳字符串是什么样的? –

+0

不是一个解决方案,但是你应该在调用'tableView.reloadData()'之前对你的帖子进行排序。这样,每次调用'cellForRowAtIndexPath'时,数组都不会被排序。 – Carter

+0

@JosephQuigley我的时间戳以毫秒为单位。我使用firebase.database.ServerValue.TIMESTAMP – kelsheikh

回答

0

你的职位应进行排序,你希望他们的方式,但它看起来像你并没有使用什么到细胞。尝试是这样的:

cell.postTextLabel.text = post["postStringHere"] 

cell.postTextLabel是一个UILabel将包含从您的文章对象的文本。

+0

大概这就是'cell.configureCell(post)'调用的作用。 OP应编辑他的帖子以提供该代码,以及他的“Post”对象的结构。 –

+0

配置单元格当我问的时候并没有在问题的修订版本中,但知道它的身体确实会有所帮助 –

+0

Oh lordy。那现在不会工作得很好吗? –

相关问题