Voilà : j'ai un objet qui a pour classe une sous classe de NSObject que j'intitule ici myClass.
Cette classe comporte comme champ un NSMutableArray. J'ai donc :
Je voudrais faire la chose suivante, très classique certainement, mais que néanmoins je ne sais pas faire et je ne trouve rien à ce sujet.
lorsque je fais :
,
je crée une instance de myClass. Mais j'aimerais que newObject ait déja son champ tab alloué, de sorte que lors de l'initialisation de newObject je n'ai qu'à remplir le tableau tab. Autrement dit dans l'implémentation de myClass je veux une méthode init de la forme :
Donc, si j'ai bien compris, il me faut sous-classer la méthode de classe + (id)alloc dans l'implémentation de myClass :
Ce code est-il correct ? Je me dis que [self class] ne doit pas fonctionner puisque self n'existe pas encore !
Cette classe comporte comme champ un NSMutableArray. J'ai donc :
Bloc de code:
@interface myClass : NSObject {
NSMutableArray *tab;
}
Je voudrais faire la chose suivante, très classique certainement, mais que néanmoins je ne sais pas faire et je ne trouve rien à ce sujet.
lorsque je fais :
Bloc de code:
newObject = [myClass alloc]
je crée une instance de myClass. Mais j'aimerais que newObject ait déja son champ tab alloué, de sorte que lors de l'initialisation de newObject je n'ai qu'à remplir le tableau tab. Autrement dit dans l'implémentation de myClass je veux une méthode init de la forme :
Bloc de code:
- (id)init
{
self = [super init];
if(self) [tab addObject:......]; //tab est déjà alloué
return self;
}
Bloc de code:
+ (id)alloc
{
[[self class] alloc];
tab = [NSMutableArray alloc];
if(self & tab) return self else return nil;
}