我正在尝试取消选择之前已选择但目前在集合视图中不可见的单元格。我正在使用此代码:
let optionalSelectedItems = collectionView.indexPathsForSelectedItems()
if let selectedItems = optionalSelectedItems{
for indexPath in selectedItems{
self.collectionView.deselectItemAtIndexPath(indexPath, animated: true)
self.collectionView.delegate?.collectionView!(self.collectionView, didDeselectItemAtIndexPath: indexPath)
}
在func collectionView(_:didDeselectItemAtIndexPath:)
的实施中,有一些非常重要的事情正在发生。取消选择会在其他视图中触发事件。
这会引发错误,因为我取消选择当前屏幕外的单元格,因此甚至不在内存中。如何在短时间内将细胞放入记忆中?我只需要取消选择它们,所以我猜测0.1s就足够了。
答案 0 :(得分:1)
您可以将选定行的索引存储在单独的数组中,并在
中创建后选择/取消选择单元格func collectionView(_ collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell