Je travaille sur une application et je voudrais m'assurer que je gère la mémoire correctement et libère tout ce que je devrais. Dans ma méthode viewDidLoad, j'alloue certaines variables pour déterminer quel arrière-plan appliquer à la vue (pour l'internationalisation) et l'application fonctionne correctement si je ne les libère pas.Gestion de la mémoire de l'iPhone
Le problème est que si je libère les variables, l'application va planter. Code de viewDidLoad est ci-dessous:
// Set the background image based on the phone's preferred language
NSString *language = [[NSLocale preferredLanguages] objectAtIndex:0];
NSString *backgroundImageName = [[NSString alloc] init];
backgroundImageName = [NSString stringWithFormat:@"background-%@.png",language];
self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:backgroundImageName]];
... do some more initialization stuff ...
// IF THE FOLLOWING ARE RELEASED THE APP WILL CRASH!!!
//[backgroundImageName release];
//[language release];
Pourquoi se libérer du backgroundImageName et les variables de l'application provoquent langue crash?
explaination impressionnant. est parfaitement logique maintenant. Merci! –