ARC!
FrancoisH
Membre
Voici une question qui me turlupine depuis un bout. Réutiliser une variable locale qui a eu un Alloc= est-ce synonymes d'un leak potentiel, ou maintenant ARC gère aussi ce type de situation?
UISwipeGestureRecognizer *recognizer;
recognizer = UISwipeGestureRecognizer [b]alloc[/b initWithTarget:self action:@selector(handleSwipeToLeft];
[[self view] addGestureRecognizer:recognizer];
recognizer = UISwipeGestureRecognizer [b]alloc[/b initWithTarget:self action:@selector(handleSwipeToRight];
[[self view] addGestureRecognizer:recognizer];
J'aime bien réutiliser, mais devrais-je toujours mettre à nil, au cas?
Merci!
UISwipeGestureRecognizer *recognizer;
recognizer = UISwipeGestureRecognizer [b]alloc[/b initWithTarget:self action:@selector(handleSwipeToLeft];
[[self view] addGestureRecognizer:recognizer];
recognizer = UISwipeGestureRecognizer [b]alloc[/b initWithTarget:self action:@selector(handleSwipeToRight];
[[self view] addGestureRecognizer:recognizer];
J'aime bien réutiliser, mais devrais-je toujours mettre à nil, au cas?
Merci!
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Sous ARC, par défaut les variable sont de type strong ; lors du changement d'affectation d'une variable strong le compilateur ajoute le release de l'ancienne valeur et le retain de la nouvelle valeur si nécessaire.
Heureusement que oui... ARC est conçu pour faciliter la vie du développeur. Une telle restriction irait totalement à l'encontre de ce principe.
Et, avec des array= idem:
NSMutableArray *aArray = [[NSMutableArray alloc] initWithObjects:@hello,nil];
...
aArray = [[NSMutableArray alloc] initWithObjects:@hello,nil];
Assez fort pour "vider" le array automatiquement. Ou bien dans ce cas, vous iriez avec un aArray removeallobjects ?
Simplement curieux.