我正在開發一個應用程序,我想確保我正確地管理內存並釋放我應該做的所有事情。在我的viewDidLoad方法中,我分配了一些變量來決定應用於視圖的哪個背景(用於國際化),如果我不釋放它們,該應用可以正常工作。iPhone內存管理
問題是,如果我釋放變量,應用程序將崩潰。從viewDidLoad中的代碼如下:
// 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];
爲什麼會釋放backgroundImageName和語言變量導致應用程序崩潰?
真棒交代。現在非常有意義。謝謝! – 2010-01-16 19:00:51