J'ai une petite question sur les deux exemples ci-dessous. Actuellement, j'utilise l'exemple le plus haut en sachant qu'en raison des ressources limitées d'iPhones, il est préférable d'allouer et de relâcher manuellement en utilisant l'exemple littéral de la chaîne du bas. Est-ce que quelqu'un a une préférence quant à celui avec qui aller?Attribution iPhone ou littéraux de chaîne pour NSString?
if(activeSegment == 0) {
NSString *newText = [[NSString alloc] initWithString:@"Hello World"];
[helloLabel setText:newText];
[newText release];
}
OU
if(activeSegment == 0) {
NSString *newText = @"Hello World";
[helloLabel setText:newText];
}
Personnellement, je ne pense pas qu'il importe dans ce cas que je suis en train le texte sur une étiquette qui sera libéré wont jusqu'à la sortie de l'application de toute façon.
gary
Je vois, oui, c'est parfaitement logique, merci beaucoup pour cette excellente réponse. Je vais aussi le raccourcir comme vous l'avez souligné pour utiliser la chaîne littérale directement. – fuzzygoat
Pour plus d'explications, les chaînes littérales non-stockées et stockées dans le fichier binaire de votre application au moment de la compilation ne nécessitent pas d'allocation chaque fois que vous utilisez la chaîne. Certainement une grande victoire pour la mémoire au détriment d'une petite quantité de taille binaire. –