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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage