J'ai une situation où j'ai besoin d'utiliser certaines chaînes temporairement, mais j'ai lu tellement de choses contradictoires que je suis un peu confus quant à la meilleure façon de procéder.Quelle est la meilleure façon de gérer les chaînes temporaires?
J'ai besoin d'assigner des chaînes à l'intérieur d'une si structure, mais les utiliser en dehors de la si la structure afin qu'ils doivent être créés en dehors du cas, je pensais quelque chose comme:
NSString *arbString = [[NSString alloc] init];
if(whatever)
{
arbString = @"Whatever"
}
else
{
arbString = @"SomethingElse"
}
myLabel.text = arbString;
[arbString release];
J'ai vu des exemples où les gens juste utilisé:
NSString *arbString;
pour créer la variable chaîne
Guide Objectif C de Google indique qu'il est préférable de autoRelease au moment de la création:
« Lors de la création de nouveaux objets temporaires, les AutoRelease sur la même ligne que vous les créez plutôt que d'une version séparée plus tard dans la même méthode »:
// AVOID (unless you have a compelling performance reason)
MyController* controller = [[MyController alloc] init];
// ... code here that might return ...
[controller release];
// BETTER
MyController* controller = [[[MyController alloc] init] autorelease];
donc je ne sais pas, ce qui est le meilleur entraine toi?
Cela a répondu à ma question, semble que je ne faisais que le formuler incorrectement. http://stackoverflow.com/questions/2706955/objective-c-if-statements-not-retaining/2706957#2706957 –