Question

Je semble incapable d'obtenir une communication entre mon contrôleur de vue principale et un contrôleur de vue de table qui est affiché dans une vue de popover (iPad).

Je configure la vue du tableau à l'intérieur d'un contrôleur de navigation de la manière habituelle:

// create popover
    if (self.popoverController == nil) {

    filesViewController = [[[MyTableViewController alloc] initWithFiles:fileList] autorelease];

    UINavigationController *navCtrl = [[[UINavigationController alloc] initWithRootViewController:filesViewController] autorelease];

    self.popoverController = [[UIPopoverController alloc] initWithContentViewController:navCtrl];

        self.popoverController.delegate = self;

        // resize popover
        self.popoverController.popoverContentSize = CGSizeMake(320.0, 44 + [fileList count] * 44);
    }

Tout fonctionne bien, et je passe un tableau de noms de fichiers (FileList) dans la vue de la table, qui est maintenue dans la vue du tableau comme un tableau appelé Listoffiles. La vue du tableau affiche les noms de fichiers, et lorsque l'on est sélectionné par l'utilisateur, je souhaite transmettre ce nom de fichier au contrôleur de vue principale. Cependant, je ne peux pas faire revenir de la communication de la méthode DidSelectrowatindexpath de la vue de la table à la VC principale. J'ai essayé toutes sortes de points de vente dans différentes directions, et j'ai essayé de créer un nouvel objet dans DidSelectrowatindexpath pour gérer le nom de fichier provenant de la vue de la table. Je peux passer le nom de fichier au nouvel objet, mais lorsque j'essaie de l'envoyer dans le VC principal, il est à nouveau nul. Tout ce que j'envoie à mon VC principal pendant que ce popover est actif apparaît comme nul.

    - (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {

    NSLog(@"%@", handler.addressForImageFile);

    self.popoverController = nil;
    [self.popoverController release];
}

Y a-t-il une raison pour laquelle mon VC principal n'obtiendra rien d'autre que des objets nuls de ma vue de table? J'ai passé des jours à essayer tant de choses différentes. J'ai l'impression qu'il y a un écart fondamental dans ma connaissance du fonctionnement des popovers. Il existe sûrement un moyen simple de renvoyer une chaîne à mon VC principal lorsqu'il est sélectionné dans la vue de la table?

Merci beaucoup pour toute aide!

Était-ce utile?

La solution

Il y a bien une bien meilleure façon de le faire, mais en fonction de l'objectif de passer la chaîne, une façon pourrait être d'utiliser NsUserDefaults.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top