Я работаю над приложением, и я хотел бы убедиться, что я правильно управляю памятью и выпускаю все, что должен. В моем методе 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 и языковые переменные вызывает приложение к краху?
удивительным объяснений. теперь имеет смысл. благодаря! –