UICollectionView首先显示最旧的帖子,我希望它显示最新的帖子

时间:2018-05-05 18:40:17

标签: ios swift firebase uicollectionview

var posts = [Post]()
....
func collectionView(_ collectionView: UICollectionView, cellForItemAt   indexPath: IndexPath) -> UICollectionViewCell{
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: cellIdentifier, for: indexPath) as! FeedCollectionViewCell
cell.postTextView.text = posts[indexPath.item].caption
cell.postImageView.image = UIImage(named: "photoplaceholder.jpg")
let urlString = posts[indexPath.item].photoUrl
let url = URL(string:  urlString)
let task = URLSession.shared.dataTask(with: url!){ data, reponse, error     in
    if error != nil {
        print(error!)
    } else{
        DispatchQueue.main.async(execute: {
            cell.postImageView.image = UIImage(data: data!)
        })

    }

}
 task.resume()
return cell

}
}

我想显示最新帖子,而不是最旧的帖子。 对于tableview,post [indexPath.row] .caption给了我最新的帖子, 对于UICollectionView它没有,它给了我最老的帖子。我需要帮助来了解如何在其他人之前首先显示最新的帖子。

1 个答案:

答案 0 :(得分:0)

UITableViewUICollectionView之间的数据顺序不应有任何差异,因此您应该调查为什么正在发生,而不是如何修复它在cellForItemAt

但要回答如何修复它;由于我发现您只有一个部分,因此您可以执行posts.reversed()[indexPath.row].captionposts.reversed()[indexPath.row].photoUrl