首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >移动当前未加载的UICollectionViewCell

移动当前未加载的UICollectionViewCell
EN

Stack Overflow用户
提问于 2018-03-01 04:20:52
回答 1查看 23关注 0票数 1

我正在使用Firebase为客户端创建一个网络应用程序。对于每个用户,我在其Firebase属性timestamp中添加了一个观察者,这意味着当用户上传状态更新时,Firebase观察者会被触发,以便提要中的用户单元格移动到顶部(每个用户只有一个单元格)。下面是Firebase代码:

代码语言:javascript
运行
复制
Database.database().reference().child(forUser.userID).child("timestamp").observe(.value) { (snapshot) in

        if let timestamp = snapshot.value as? Int {

            if let cell = self.feedCollectionView.cellForItem(at: indexPath) as? FeedCell {

                self.feedCollectionView.moveItem(at: indexPath, to: IndexPath(row: 0, section: 0))

            }

        }

    }

这是很有可能的,我有100-200个用户,也许他们中的最后一个更新了他的状态并必须移动到顶部,即使他的集合视图单元甚至从未加载过。

当我运行它时,它为每个可见的单元格打印它是可移动的,对于每个不可见的单元格它不能访问卸载的单元格。

如何访问从未加载过的单元格并将其移动到顶部?

EN

回答 1

Stack Overflow用户

发布于 2018-03-01 05:33:34

您不应该移动可能加载或可能未加载的单元格,而是应该通过按时间戳对其进行排序来更新集合视图的数据源。然后,您可以调用self.feedCollectionView.reloadData(),它会自动将其放在顶部。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49037886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档