¿Cómo puedo solucionar el bloqueo cuando toco para seleccionar la fila después de desplazar la vista de tabla?

Tengo una vista de tabla como esta:

cuando el usuario toca una fila, quiero desmarcar la última fila y marcar la fila seleccionada. Entonces escribí mi código así: (por ejemplo, mi último seleccionado = 0)

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

        var lastIndexPath:NSIndexPath = NSIndexPath(forRow: lastSelected, inSection: 0)
        var lastCell = self.diceFaceTable.cellForRowAtIndexPath(lastIndexPath) as! TableViewCell
        var cell = self.diceFaceTable.cellForRowAtIndexPath(indexPath) as! TableViewCell


        lastCell.checkImg.image = UIImage(named: "uncheck")

        cell.checkImg.image = UIImage(named: "check")

        lastSelected = indexPath.row

}

todo funciona bien cuando toco una fila sin desplazarme. Me doy cuenta de eso cuando ejecuto el código y desplazo la tabla de inmediato y selecciono una fila. Mi programa se bloqueará con un error: "error fatal: inesperadamente encontrado nulo al desenvolver un valor opcional"

El error se muestra en esta línea:

No sé qué pasa aquí?

Respuestas a la pregunta(2)

Su respuesta a la pregunta