我有一个集合视图,项目数量逐渐增加。最初可能会显示100个项目。然后,基于选择一个,我想在最后一个当前可见项目之后插入项目。我还想刷新已经添加的内容,但我还没有看到。
performBatchUpdates
执行我需要它执行的操作,但如果您快速选择/取消选择多个项目,则会逐渐降低性能。
这是我到目前为止在每个细胞分析中所拥有的:
performBatchUpdates({ () -> Void in
collectionView.reloadItemsAtIndexPaths(reloadIndexPaths)
collectionView.insertItemsAtIndexPaths(insertIndexPaths)
}, completion: { (completed: Bool) -> Void in
对于我可以采取哪些措施来平滑性能?仪器验证了我的假设,即这是一个值得关注的领域。
答案 0 :(得分:0)
尝试这样做async
:
dispatch_async(dispatch_get_main_queue()) { () in
performBatchUpdates({ () -> Void in
collectionView.reloadItemsAtIndexPaths(reloadIndexPaths)
collectionView.insertItemsAtIndexPaths(insertIndexPaths)
}, completion: { (completed: Bool) -> Void in
...
}