In a storyboard from the same controller (in the NavigationController hierarchy) I created two different segue and try to determine which of them to call by click and transfer data to the called controller. The transition is carried out correctly, and the data is not transmitted ...

In the CollectionView in the didSelectItemAtIndexPath: method didSelectItemAtIndexPath: I write:
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { // Если нажал на ФОТО if (indexPath.row > numvideos - 1) { // Если при этом в галерее присутствует ВИДЕО if (numvideos != 0) { NSLog(@"Нажал на фото с индексом: %d", indexPath.row + 1 - numvideos); PhotoFullScreenViewController *photoFullScreenViewController = [[PhotoFullScreenViewController alloc] init]; photoFullScreenViewController.numberOfSelectedPhoto = indexPath.row + 1 - numvideos; photoFullScreenViewController.numberOfTotalPhotos = galleryArray.count - numvideos; [self performSegueWithIdentifier:@"goToPhotoFullScreen" sender:nil]; } // Если ВИДЕО в галерее не присутствует else { NSLog(@"Нажал на фото с индексом: %d", indexPath.row + 1); PhotoFullScreenViewController *photoFullScreenViewController = [PhotoFullScreenViewController new]; photoFullScreenViewController.numberOfSelectedPhoto = indexPath.row + 1; photoFullScreenViewController.numberOfTotalPhotos = galleryArray.count; [self performSegueWithIdentifier:@"goToPhotoFullScreen" sender:nil]; } } // Если нажал на ВИДЕО else { NSLog(@"Нажал на видео с номером: %d", indexPath.row + 1); [self performSegueWithIdentifier:@"goToVideoFullScreen" sender:nil]; } }