Gestion mémoire - retourner un objet
Bonjour,
Je sais que je risque de me faire taper sur les doigts, mais je me lance.
J’ai cherché sur le Net, mais je ne capte pas très bien.
Voici ma problématique :
J’ai une classe qui contient un tableau d'objet. Une méthode de cette classe doit me retourner un objet de ce tableau (en fonction d'un param).
Classe 1 :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| NSMutableArray *__myObjects;
@interface myClass1 : NSObject {
NSMutableArray *__myObjects;
}
@property (nonatomic, retain, readwrite) NSMutableArray *myObjects;
@implementation myClass1
@synthesize myObjects=__myObjects;
-(id) init{
self = [super init];
self.myObjects = [[NSMutableArray alloc] initWithCapacity:100];
}
- (void)dealloc
{
[__myObjects release];
[super dealloc];
}
-(myObject *) getSpecificObject:(NSString*)_idObject
{
myObject *p=nil;
for(int i=0;i<[self.myObjects count];i++)
{
myObject *tmp=[self.myObjects objectAtIndex:i];
if([_idObject isEqualToString:tmp.idObject])
{
p=tmp;
break;
}
}
return p;
} |
Est-ce une bonne méthode?
La classe 2 qui appellera cette méthode ne devra pas faire de retain, release sur l'objet retourné?
Merci de votre aide.