ios - 隐藏 CollectionViewCell 而不更新数据源
问题描述
我想使用collectionView.deleteItems(at: [IndexPath])
并保持我的数据源完好无损。这种想要的行为的目的是能够将过滤器应用于我的集合视图并轻松恢复collectionView.reloadData()
,并保持冷静的内置删除动画。
是否有解决方法来实现这一目标?
解决方案
您的数据源始终需要与集合视图中显示的内容相匹配。
最简单的方法是为您的数据设置两个数组。allData
和displayedData
。您的集合视图将始终displayedData
视为数据源。
如果用户添加了过滤器,您可以更新其中的值displayedData
并运行您想要的动画。当用户删除过滤器时,您将displayedData
重新设置为allData
动画。
推荐阅读
- javascript - 我怎样才能让这个 javascript 工作不止一次?
- python - 如何为每个交叉验证折叠显示混淆矩阵和报告(召回、精度、fmeasure)
- testing - 在 Flutter 测试中获取小部件的位置?
- reactjs - undefined is not a function '(0, _reactNavigation.StackNavigator)' 未定义)
- amazon-web-services - aws ebs 快照与 sc1“冷”hhd 的优势
- clojurescript - 使用 js->clj 转换为 json 时如何将关键字保留在数组中?
- java - 将 SQL 连接到 php 或 java
- java - Oracle JDBC 从过程中获取 SYS_REFCURSOR
- python - 我的 python 代码中不断出现“invalid \x escape”错误。我究竟做错了什么?
- python - Peewee ORM:根据外键字段(backrefs)上的属性进行选择