У меня есть программа FollowVC и FollowCell с коллекционным представлением. Я могу правильно отобразить все данные в ячейке представления uIcollection, используя следующий код без проблем.
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
if let cell = collectionView.dequeueReusableCellWithReuseIdentifier("FollowCell", forIndexPath: indexPath) as? FollowCell {
let post = posts[indexPath.row]
cell.configureCell(post, img: img)
if cell.selected == true {
cell.checkImg.hidden = false
} else {
cell.checkImg.hidden = true
}
return cell
}
}
Обратите внимание, что я также могу выбрать и отменить выбор нескольких изображений, используя следующий код
func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
if deletePressed == true {
let cell = collectionView.cellForItemAtIndexPath(indexPath) as! FollowCell
cell.checkImg.hidden = false
} else {
let post = posts[indexPath.row]
performSegueWithIdentifier(SEGUE_FOLLOW_TO_COMMENTVC, sender: post)
}
}
func collectionView(collectionView: UICollectionView, didDeselectItemAtIndexPath indexPath: NSIndexPath) {
let cell = collectionView.cellForItemAtIndexPath(indexPath) as! FollowCell
cell.checkImg.hidden = true
}
Когда в режиме "Выбрать" я могу выполнить выделение каждой ячейки, и галочка будет отображаться в ячейке. Однако то, что я хочу сделать, - это отменить buttom, чтобы отключить всю выбранную ячейку и удалить checkImg.
Я пробовал
func clearSelection() {
print("ClearSelection posts.count = \(posts.count)")
for item in 0...posts.count - 1 {
let indexP = NSIndexPath(forItem: item, inSection: 0)
followCollectionView.deselectItemAtIndexPath(indexP, animated: true)
let cell = followCollectionView.cellForItemAtIndexPath(indexP) as! FollowCell
cell.checkImg.hidden = true
}
}
Сбой программы здесь дает мне фатальную ошибку: Неожиданно нашел нуль, разворачивая дополнительную ошибку в
let cell = followCollectionView.cellForItemAtIndexPath(indexP) as! FollowCell
Я не знаю, почему у меня возникли проблемы с распаковкой ячейки, которая будет моим FollowCell, который содержит экземпляр checkImg. Я уже использовал его раньше в аналогичной ситуации в файле didSelectItemAtIndexPath и, похоже, работает?
Спасибо,