Well, you have to implement UICollectionViewDelegate's method and pass corresponding product by index.
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
Product *selectedProduct = self.products[indexPath.row];
DetailsViewController *detailsVC = [[DetailsViewController alloc] initWithProduct:selectedProduct];
[self.navigationController pushViewController:detailsVC animated:YES];
}
assuming you have declared property for your products;
@property (nonatomic, strong) NSArray *products;
Hope this helps.