IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Objective-C Discussion :

Protocole et Delegates


Sujet :

Objective-C

  1. #1
    Invité
    Invité(e)
    Par défaut Protocole et Delegates
    Bonjour ,

    Quelqu'un peut t il m'expliquer le rôle des delegates que je n'arrive pas à saisir complètement ?

    J'ai vu que cela permettait d'envoyer des infos d'une vue à l'autre grosso modo .

    Et les protocoles dans tout ça ?

    C'est pas très clair dans mon cas .

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 35
    Points : 35
    Points
    35
    Par défaut
    Bonjour,

    En gros comme tu dis cela permet de passer des infos d'une vue à une autre.
    Dans la vue où tu souhaites envoyer les informations, tu déclares un protocole avec la déclaration des fonctions.
    Ces fonctions seront eux, définis dans la vue qui va recevoir les informations, autrement dit le delegate.


    Dans la deuxième vue controller.h(celle à partir duquel tu veux envoyer les informations) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    @protocol SecondViewControllerDelegate <NSObject>
    //declaration de la fonction qui permettra l'envoi des informations
    - (void)addItemViewController:(id)controller didFinishEnteringItem:(NSString *)item;
    @end
     
    @interface SecondPageViewController : UIViewController 
    //declare le delegate
    @property (nonatomic, weak) id <SecondViewControllerDelegate> delegate;
    Dans la deuxième vue controller.m :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    - (IBAction)done:(id)sender
    {
         NSString *itemToPassBack = @"toPass";
    //Appel de la fonction pour passer les informations
         [self.delegate addItemViewController:self didFinishEnteringItem:itemToPassBack];
         //dismiss modal view controller here
    }

    Dans la première due controller.h :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     @interface FirstPageViewController: UIViewController <SecondViewControllerDelegate>
     @property (nonatomic) NSString *returnedItem;
    Dans la première vue controller.m :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    - (void)addItemViewController:(SecondPageViewController *)controller didFinishEnteringItem:    (NSString *)item
    {
        //using delegate method, get data back from second page view controller and set it to property declared in here
        NSLog(@"This was returned from secondPageViewController: %@",item);
        self.returnedItem=item;
     
        //add item to array here and call reload
    [self.tableView reloadData]; 
    }
    Ce qui ne faut pas oublier c'est de faire
    mySecondPageViewController.delegate = myFirstPageViewController.self;
    lors de la création de mySecondPageViewController.

    Exemple pris de http://stackoverflow.com/questions/1...iew-controller

  3. #3
    Rédacteur

    Homme Profil pro
    Expert iOS
    Inscrit en
    Juin 2005
    Messages
    413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Expert iOS

    Informations forums :
    Inscription : Juin 2005
    Messages : 413
    Points : 1 619
    Points
    1 619
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par tchoumo Voir le message
    J'ai vu que cela permettait d'envoyer des infos d'une vue à l'autre grosso modo .
    Non.

    Citation Envoyé par Kimly Voir le message
    En gros comme tu dis cela permet de passer des infos d'une vue à une autre.
    Toujours pas.

    Kimly, tu ne devrais pas essayer de répondre si c'est pour répondre n'importe quoi. Ca ne va pas beaucoup l'aider.

    Tchoumo, si tu veux savoir ce qu'est la délégation, tu devrais lire ceci et reviens demander après si il y a quelque chose que tu n'as pas compris.
    Bon courage

Discussions similaires

  1. protocol modbus
    Par greatboy dans le forum Développement
    Réponses: 7
    Dernier message: 21/01/2008, 10h58
  2. le protocole snmp
    Par stephy dans le forum Développement
    Réponses: 4
    Dernier message: 06/12/2002, 20h55
  3. Quelle est la fiabilité du protocole SSL ?
    Par Anonymous dans le forum Développement
    Réponses: 5
    Dernier message: 05/09/2002, 13h31
  4. Réponses: 2
    Dernier message: 31/08/2002, 21h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo