soword科技言
永久公益免费API接口
提供永久免费的API接口,查看更多API接口,如果您有其他免费API资源,请联系我们,造福人类。
提供商务开发:小程序,系统,APP
定制开发,免费评估,免费咨询,价格便宜,售后保障,前往开发服务中心联系开发客服中心
在Swift中使用.reverse()时错误的项目顺序

我知道在SO上也有类似的问题,但是我仍然无法解决问题并解决问题。

问题很简单:我想以相反的顺序从Firebase数据库中获取项目。我使用.reverse()这样做。它适用于该单词的某些含义,项目实际上已重新排列,但第二个由于某种原因始终排在最后。

有人可以在这种情况下向我解释进行换向的正确方法吗?我希望在不创建新数组的情况下进行反转。可能吗?这是我的示例代码。

任何帮助将不胜感激,谢谢!

Database.database().reference().child("posts").observe(.childAdded) { (snapshot) in

let postId = snapshot.key

guard let dictionary = snapshot.value as? Dictionary<String, AnyObject> else { return }

let post = Post(postid: postId, dictionary: dictionary)

postsArray.append(post)

postsArray.reverse()
self.finishedFetching = true

self.collectionView.reloadData()

}

用 childAdded

postsArray.append(post) postsArray.reverse()

完成每次呼叫追加到数组和挫折的,这将导致在一个阵列,这不是颠倒所有的阵列一次的结果,所以你可能会发现.value.childAdded

这是因为您每次添加后都需要反转

  1. 附加A-> [A]

  2. 反向-> [A]

  3. 附加B-> [A,B]

  4. 反向-> [B,A]

  5. 附加C-> [B,A,C]

  6. 反向-> [C,A,B]



2023-03-22 10:04:19

新人小程序+APP定制199元起


发放福利,助力中小企业发展,真正在互联网中受益

点击询问定制

广告服务展示