· Attribuer est pour des valeurs primitives comme BOOL, NSInteger ou double. Pour les objets utilisation de conserver ou de copie, selon si vous souhaitez conserver une référence à l'objet d'origine ou en faire une copie.
· attribuer: Dans votre méthode de définition de la propriété, il ya un moyen simple de la cession de votre variable d'instance à la nouvelle valeur, par exemple:
-(void)setString:(NSString*)newString{
string = newString;
}
Cela peut causer des problèmes depuis Objective-C d'objets utilisation de comptage de référence, et donc par le fait de ne pas conserver l'objet, il y a une chance que la chaîne pourrait être libéré pendant que vous êtes encore à l'utiliser.
· retenir: il conserve la nouvelle valeur dans votre méthode d'initialisation. Par exemple:
C'est plus sûr, puisque vous déclarez explicitement que vous souhaitez conserver une référence de l'objet, et vous devez le libérer avant qu'il ne soit libéré.
(void)setString:(NSString*)newString{
[newString retain];
[string release];
string = newString;
}
· copie: ce qui rend une copie de la chaîne dans votre méthode de définition:
Ceci est souvent utilisé avec des chaînes, depuis la création d'une copie de l'objet original, assure qu'elle n'est pas modifiée lors de l'utilisation.
(void)setString:(NSString*)newString{
if(string!=newString){
[string release];
string = [newString copy];
}
}