我有按钮这个按钮是选择集合中的所有单元格它是否正常工作但问题是当我选择所有单元格时需要大量内存我不知道为什么请告诉我如何在collectionView中选择所有单元格记忆巨大
以下我的代码:
func selectAllCells(){
var i = 0
while i < self.collectionView.numberOfItemsInSection(0) {
// her i get the index path
let indexPath = NSIndexPath(forItem: i, inSection: 0)
self.collectionView.scrollToItemAtIndexPath(indexPath, atScrollPosition: .Bottom, animated: false)
self.collectionView.decelerationRate = UIScrollViewDecelerationRateFast
self.collectionView.reloadItemsAtIndexPaths([indexPath])
self.dictionaryOfSelectItem.updateValue(i, forKey: i)
let cell = self.collectionView.cellForItemAtIndexPath(indexPath) as! AlbumImagesCollectionViewCell
cell.imageViewCheck.hidden = false
self.dictionaryOfSelectItem.updateValue(i, forKey: i)
i = i + 1
}
self.moveOutlet.enabled = true
self.exportOutlet.enabled = true
self.deleteOutlet.enabled = true
}
感谢提前
答案 0 :(得分:1)
在viewDidLoad()
之前的某个地方创建一个名为selectAll的全局变量在selectAll()函数中,将刚刚创建的变量设置为true。
self.selectAll = true;
//Now call your reload function for your collectionView.
self.collectionView.reloadData
现在在你的cellForItemAtIndexPath:
if selectAll {
cell.selected = true;
} else {
cell.selected = false;
}
当用户取消选择“全选”按钮或执行其他操作时,请将selectAll设置为 false 并再次重新加载数据。
如果您希望在选中所有单元格后对其执行任何操作,请在cellForItemAtIndexPath函数中执行此操作。