Storyboard – configuration des delegates

Avant les storyboards, j'étais capable de définir des delegates et des sources de données en faisant glisser une sortie vers une class. Avec les storyboards, je ne peux pas faire glisser la sortie vers un autre controller de vue; il n'y a pas de destination qui y répondra.

Si je clique sur un object controller de vue, je peux voir le propriétaire de la class en bas, mais dès que je sélectionne l'autre controller de vue contenant la sortie, l'ancienne sélection a disparu, donc je ne peux pas connecter les deux.

Est-ce la façon de dire d'Apple que nous devrions seulement les relier par programmation?

Correct. Définissez le délégué ou d'autres données dans votre prepareForSegue:sender: Voici un exemple:

 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Check the segue identifier if ([segue.identifier isEqualToSsortingng:@"showDetail"]) { // Get a reference to your custom view controller CustomViewController *customViewController = segue.destinationViewController; // Set your custom view controller's delegate customViewController.delegate = self; } } 

Si votre View View Segue View Controller est un UIViewController, la réponse @Marco est correcte. Mais si votre View Controller de destination est un UINavigationViewController, vous devez get UIViewController depuis UINavigationViewController:

 - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Check the segue identifier if ([segue.identifier isEqualToSsortingng:@"chooseCategoryType"]) { // Get a reference of your custom view controller if your segue connection is an UIViewController // CustomViewController *customViewController = segue.destinationViewController; // Get a reference of your custom view controller from navigation view controller if your segue connection is an UINavigationViewController CustomViewController *customViewController = [[[segue destinationViewController] viewControllers] objectAtIndex:0]; // Set your custom view controller's delegate customViewController.delegate = self; } }