Création de classes de type NsObject

Bonsoir,


 


Dans un projet qui affiche des données  dans une TableViewCell.


 


 


J'ai créer une classe de type NSoject comme ceci :


 


 


Dans le .h de la Classe : 


 


 


#import <Foundation/Foundation.h>


 

@interface Voiture : NSObject

 

 

@property (nonatomic, strong)NSString *marque;

@property (nonatomic, strong)NSString *modele;

@property (nonatomic, strong)NSString *prix;

 

-(id) initwithMarque:(NSString *) marque withModele:(NSString *)modele withPrtx:(NSString *)prix;

 

 

 

 

 


 

 

 

Dans le fichier Voiture.m :

 

 

#import "Voiture.h"

 


@implementation Voiture


 


 


- (id) initwithMarque:(NSString *) marque withModele:(NSString *)modele withPrtx:(NSString *)prix


    {


 


        self =[ super init];


        


        


        self.marque = marque;


        self.modele = modele;


        self.prix = prix;


        


        


        


    return self ;


    


    


            }


 


    


        @end


 

 

 

A la compilation j'obtient cette erreur de compilation : 

 

 

 

/Users/stephanemartin/Documents/PROJECT/TES/VoituresTableViewController/Voiture.m:17:14: Cannot assign to 'self' outside of a method in the init family

 

 

Que se passe t'il ?

 

Merci.

 

S.Martin

 

 

 

 

 

 

 

 


 


 


Réponses

  • Joanna CarterJoanna Carter Membre, Modérateur
    mars 2015 modifié #2
    À part des autres erreurs d'orthographe, tu manque un majuscule dans initWithMarque...
  • LarmeLarme Membre

    Merci d'utiliser la balise CODE.



    - (id)initWithMarque:(NSString *) marque withModele:(NSString *)modele withPrtx:(NSString *)prix
    {
    self = [super init];

    if (self)
    {
      self.marque = marque;
      self.modele = modele;
      self.prix = prix;
    }
    return self;
    }

    le if(self) est plus que recommandé, et sinon, initWithMarque:ZzZ (note la majuscule, garder le mot "init" et la suite par une majuscule).


Connectez-vous ou Inscrivez-vous pour répondre.