Partage
  • Partager sur Facebook
  • Partager sur Twitter

[IOS] attribut d'objet dans appDelegate reste null

Sujet résolu
    13 décembre 2012 à 17:15:18

    Bonjour,


    Un autre petit soucis qui survient. J'ai crée un objet 'DBVendeur' comme ceci

    @interface DBVendeurs : NSObject{
        NSString *nomVendeur,*prenom,*vPwd,*vUser,*token,*idsite,*idAffaire,*idVendeur;
    }
    
    @property (nonatomic, retain) NSString *token;
    @property (nonatomic, retain) NSString *nom;
    @property (nonatomic, retain) NSString *prenom;
    @property (nonatomic, retain) NSString *vPwd;
    @property (nonatomic, retain) NSString *vUser;
    @property (nonatomic, retain) NSString *idAffaire;
    @property (nonatomic, retain) NSString *idVendeur;
    @property (nonatomic, retain) NSString *idsite;
    
    
    @end
    
    @implementation DBVendeurs
    
    @synthesize token;
    @synthesize nom;
    @synthesize prenom;
    @synthesize vPwd;
    @synthesize vUser;
    @synthesize idVendeur;
    @synthesize idAffaire;
    @synthesize idsite;
    
    @end
    


    J'ai ajouté cet objet dans mon appDelegate comme ceci

    DBVendeurs *vendeur;
    @property (nonatomic, readwrite) DBVendeurs *vendeur;
    


    Dans le "didFinishLaunchingWithOptions" de mon appDelegate j'instancie mon vendeur comme suit :

    vendeur = [[DBVendeurs alloc]init];
    


    Et pour finir dans ma vue je souhaite modifier ce vendeur en question :

    DBVendeurs *vendeur = appDelegate.vendeur;
    vendeur.nom = @"toto";
    


    Cependant quand je veux afficher vendeur.nom ça affiche null à la place.

    Quelqu'un à une idée ?


    D'avance merci
    • Partager sur Facebook
    • Partager sur Twitter
      13 décembre 2012 à 18:36:04

      @property (nonatomic, readwrite) DBVendeurs *vendeur;
      devient
      @property (nonatomic, retain) DBVendeurs *vendeur;

      readwrite est par défaut.
      • Partager sur Facebook
      • Partager sur Twitter
        13 décembre 2012 à 23:44:04

        @synthesize crée automatiquement le getter et setter
        • Partager sur Facebook
        • Partager sur Twitter
          14 décembre 2012 à 8:23:37

          Bonjour,

          J'ai bien mis "retain" à la place de readwrite. J'ai toujours le même soucis.
          Cependant j'ai avancé le problème est peut être ailleurs.

          J'initialise le vendeur avec comme nom 'titi':

          vendeur = [[DBVendeurs alloc]init];
          vendeur.nom = @"titi";
          


          La pas de soucis j'ai bien titi.
          Par contre dans ma vue quand j'affiche le nom il me met null.

          DBVendeurs *vendeur = appDelegate.vendeur;
          NSLog(@"avant : %@",vendeur.nom);
          


          Edit : Quand je récupère le vendeur depuis ma vue celui-ci est null
          if (vendeur == nil)
          


          Le problème vient de là. Par contre je ne sais pas pourquoi .
          • Partager sur Facebook
          • Partager sur Twitter
            19 décembre 2012 à 10:29:00

            C'est fait ;

            Effectivement il faut mettre

            @property (strong, nonatomic) DBVendeurs *vendeur;
            


            En plus dans le .m j'ai mis

            -(DBVendeurs *)vendeur {
                if (_vendeur == nil) {
                    _vendeur = [DBVendeurs alloc];
                }
                return _vendeur;
            }
            


            avec en synthesize

            @synthesize vendeur = _vendeur;
            


            Merci du coup de main !
            • Partager sur Facebook
            • Partager sur Twitter

            [IOS] attribut d'objet dans appDelegate reste null

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown