Intentando anular "seleccionado" en UICollectionViewCell Swift para un estado de selección personalizado

Estoy tratando de implementar un estilo de selección personalizado para mis celdas en UICollectionView. Aunque es posible hacer esto manualmente en los métodos didSelect y didDeSelect, me gustaría lograr esto manipulando la variable "seleccionada" en UICollectionViewCell.

Tengo este código para ello:

    override var selected: Bool {
    get {
        return super.selected
    }
    set {
        if newValue {
            self.imageView.alpha = 0.5
            println("selected")
        } else if newValue == false {
            self.imageView.alpha = 1.0
            println("deselected")
        }
    }
}

Ahora, cuando selecciono una celda, la celda se resalta pero "select" se imprime dos veces y la deselección no funciona (a pesar de que ambos métodos UICollectionView están implementados).

¿Cómo voy a hacer esto? ¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta