[Ios] Cómo obtener un elemento seleccionado en vista de colección usando indexPathsForSelectedItems


Answers

indexPathsForSelectedItems devuelve una matriz de indexPaths (ya que puede haber varios elementos seleccionados) por lo que debe usar:

let indexPaths : NSArray = self.collectionView!.indexPathsForSelectedItems()
let indexPath : NSIndexPath = indexPaths[0] as NSIndexPath

(Probablemente debería probar para ver si se seleccionan varios elementos y manipularlos en consecuencia).

Question

Tengo una collectionView de fotos y quiero pasar la foto que fue cliqueada a un detailViewControler.

Los datos de la colección provienen de:

 var timeLineData:NSMutableArray = NSMutableArray ()

Me gustaría utilizar el método de preparación para segue.

Mi problema es cómo obtener el buen indexPath de la celda a la que se hizo clic.

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue == "goToZoom" {
        let zoomVC : PhotoZoomViewController = segue.destinationViewController as PhotoZoomViewController
        let cell = sender as UserPostsCell

        let indexPath = self.collectionView!.indexPathForCell(cell)
        let userPost  = self.timeLineData.objectAtIndex(indexPath!.row) as PFObject
        zoomVC.post = userPost

    }
} 



En veloz 3:

let index = self.collectionView.indexPathsForSelectedItems?.first