Search code examples
iosobjective-cswiftswift2

UICollectionView prepareForSegue indexPathForCell is nil iOS 9


The problem is this line return nil:

if let indexPath = self.collectionView?.indexPathForCell(sender as! UICollectionViewCell) 

For that reason I can't pass any information, The identifier is set and the delegate is set.

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "DetalleSegueIdentifier" {
        if let indexPath = self.collectionView?.indexPathForCell(sender as! UICollectionViewCell) {
            let detailVC = segue.destinationViewController as! DetalleNoticiaViewController
            detailVC.contact = self.noticia[indexPath.row]
        }
    }
}

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
    self.performSegueWithIdentifier("DetalleSegueIdentifier", sender: collectionView.cellForItemAtIndexPath(indexPath))
}

Any help?


Solution

  • The problem is the var collectionView is not reference in my ViewController for that reason always return nil. My mistake thanks you for your answers.

    @IBOutlet weak var collectionView: UICollectionView!