UICollectionAnzeigen, wie die Auswahl aller @ aufgehoben wi
Ich habe ein FollowVC- und ein FollowCell-Setup mit Sammlungsansicht. Mit dem folgenden Code kann ich alle Daten problemlos korrekt in meiner uIcollection-Ansichtszelle anzeigen.
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
}
}
Beachten Sie, dass ich mit dem folgenden Code auch mehrere Bilder auswählen und die Auswahl aufheben kann
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
}
Wenn ich mich im Modus "Auswählen" befinde, kann ich die Auswahl für jede Zelle durchführen und ein Häkchen wird auf der Zelle angezeigt. Was ich jedoch tun möchte, ist ein Abbrechen-Knopf, um alle ausgewählten Zellen zu deaktivieren und das checkImg zu entfernen.
Ich habe versuch
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
}
}
Das Programm stürzt hier ab und gibt einen schwerwiegenden Fehler aus: Unerwartet null gefunden, während ein optionaler Fehler unter @ entpackt wurd
let cell = followCollectionView.cellForItemAtIndexPath(indexP) as! FollowCell
Ich weiß nicht, warum es Probleme gibt, die Zelle als FollowCell zu dekomprimieren, die eine Instanz von checkImg enthält. Ich habe es bereits in einer ähnlichen Situation in didSelectItemAtIndexPath verwendet und es scheint zu funktionieren?
Vielen Dank