@property (copy) NSString *name;
@property (copy) NSString *orbit;
@property (copy) NSNumber *mass;
@property float surfaceTemp;
@property float rotationSpeed;
Actuellement Avez-ceDénomination Dotloc?
- (void)dealloc{
[name release];
name = nil;
[orbit release];
orbit = nil;
[mass release];
mass = nil;
[super dealloc];
}
Si j'écris ceci en utilisant la notation Dot (Objective-C 2.0) Est-ce exact?
- (void)dealloc{
self.name = nil;
self.orbit = nil;
self.mass = nil;
[super dealloc];
}
gary
Petite astuce: vous pouvez réduire le nombre de lignes de code dans votre méthode 'dealloc' en procédant comme suit:' [name release], name = nil; '. Juste une petite chose de mise en forme, mais je pense que c'est plus facile à lire. – Alex
Merci Alex, je vais utiliser cela, très apprécié. – fuzzygoat
Il n'y a pas vraiment besoin d'éliminer un ivar pendant un dealloc. Logiquement, vous définissez la valeur d'une variable sur un objet que vous savez déjà être sur le point d'être détruit. Il y a un argument à faire là-bas pour des raisons de cohérence avec le reste de votre code, je suppose. Une façon raisonnable de procéder est une macro de version, comme ceci: #define TT_RELEASE (__ P) {[__P release]; __P = nul; } –