OK, regardant cela:Releasing Ivars en Objective-C
Apple docs: Declared Properties
Si vous faites défiler vers le bas pour dealloc il lit comme suit:
« En règle générale dans une méthode dealloc vous devez libérer les variables d'instance d'objet directement (plutôt que d'invoquer un accesseur set et passant nulle comme paramètre), comme illustré dans cet exemple: «
- (void)dealloc {
[property release];
[super dealloc];
}
» Si vous utilisez le mod exécution ERN et la synthèse de la variable d'instance, cependant, vous ne pouvez pas accéder à la variable d'instance directement, vous devez donc appeler la méthode accesseur: »
- (void)dealloc {
[self setProperty:nil];
[super dealloc];
}
Maintenant, je dois posséder au moins 15 à 20 livres sur le développement iOS. Je ne peux pas dire que je l'ai jamais vu un code dans ces livres proposant que l'on faire autre chose que:
[someproperty release];
Y at-il une raison impérieuse de modifier un tas de fichiers de code qui fonctionne parfaitement bien d'adopter Apple recommandation? Que diriez-vous de travail futur? Ou sont-ils à peu près équivalents?
J'avais l'impression que ne pas avoir besoin de @synthesize créait des problèmes, donc c'est maintenant nécessaire. –
Si vous avez activé la synthèse par défaut, vous n'avez pas besoin de @synthesize et vous perdez l'accès direct. Parfaitement clair ... –