Si vous pensez à la gestion des variables d'exemple, je suggère d'utiliser property pour que - vous interface de classe déclare:
// MyClass.h
@interface MyClass {
NSMutableString* current;
}
@property (nonatomic, retain) NSMutableString* current;
@end
Et puis laissez compilateur générer setter et getter pour vous automatiquement avec la mémoire souhaitée comportement de gestion:
// MyClass.m
@implementation MyClass
@synthesize current; // Tell compiler to generate accessor methods
...
la méthode setter généré publiera la valeur précédente « actuelle » et de conserver la nouvelle. Vous aurez toujours besoin de le libérer dans votre méthode dealloc.
Pour vous accéder à la variable via la propriété, vous devez utiliser .
:
self.current = [NSMutableString string];
Cela équivaut à appeler [self setString: [string NSMutableString]] (méthode setString sera généré automatiquement).
De même que vous avez affaire à une chaîne mutable ici, il peut être utile d'utiliser copy
un attribut pour la propriété au lieu de retain
.
Merci pour votre réponse, très appréciée. J'avais pensé utiliser des propriétés mais je supposais qu'elles sont toujours publiques. Il s'avère que j'avais tort (http://swish-movement.blogspot.com/2009/05/private-properties-for-iphone-objective.html), donc je vais probablement passer à des propriétés. –