UICollectionView didselect no funciona

Cada vez que presiono una celda, quiero que la celda cambie de image:

- (void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath { if ([[arrayOfImages objectAtIndex:indexPath.item] isEqual: @"dog.png"]) { [arrayOfImages replaceObjectAtIndex:indexPath.item withObject:@"cat.png"]; } else if ([[arrayOfImages objectAtIndex:indexPath.item] isEqual: @"cat.png"]) { [arrayOfImages replaceObjectAtIndex:indexPath.item withObject:@"lion.png"]; } else if ([[arrayOfImages objectAtIndex:indexPath.item] isEqual: @"lion.png"]) { [arrayOfImages replaceObjectAtIndex:indexPath.item withObject:@"dog.png"]; } [myCollectionView reloadData]; } 

Presiono una celda y no pasa nada, ahora si presiono otra celda, la anterior cambia de image y sucede lo mismo con cada celda que presiono. La image que cambia siempre es la image de la celda anterior. Es como si no actualizara la colecciónView ya que presiono nuevamente la colecciónView.

Has implementado didDeselectItemAtIndexPath no didSelectItemAtIndexPath , por lo tanto, cuando seleccionas otra celda, la celda que seleccionaste primero se deselecciona y didDeselectItemAtIndexPath .

el método incorrecto used.it es didSelectItemAtIndexpath para ser definido para el propósito que no hizo didDeselect