2010-02-04 9 views
0
-(IBAction)customizeYourGameButtonClicked:(id)sender { 
[self playHumanHitSound]; 

self.customizeYourGameViewController = [[CustomizeYourGameViewController alloc] 
    initWithNibName:@"CustomizeYourGameViewController" bundle:nil]; 

[self.navigationController 
    pushViewController:customizeYourGameViewController animated:YES]; 
[customizeYourGameViewController release]; 
} 

Не могу понять, почему это происходит. Я настроил customizeYourGameViewController как свойство и синтезировал его.Дополнительная информация об утечке кода?

+0

Не могли бы вы отредактировать свое сообщение, чтобы убедиться, что ваш код отформатирован как код? Либо поставьте 4 пробела перед каждой строкой кода, либо просто выберите материал и нажмите кнопку «Пример кода» на панели форматирования. – kubi

ответ

3

Похоже, что customizeYourGameViewController - это свойство вашего класса. Установлено ли сохранение? Если это так, @synthesized setter для customizeYourGameViewController делает сохранение, и вам нужно что-то выпустить.

Хотя, думая об этом, мне интересно: Почему customizeYourGameViewController недвижимость? Если вы не общаетесь с контроллером в другом месте, это должна быть локальная переменная.

-(IBAction)customizeYourGameButtonClicked:(id)sender { 
[self playHumanHitSound]; 

id customizeYourGameViewController = [[CustomizeYourGameViewController alloc] 
    initWithNibName:@"CustomizeYourGameViewController" bundle:nil]; 

[self.navigationController 
    pushViewController:customizeYourGameViewController animated:YES]; 
[customizeYourGameViewController release]; 
} 

Затем удалите ivar и удалите имущество.

0

Вы назначаете CustomizeYourGameViewController, но не выпускаете его. Делает изменения ниже.

[[[CustomizeYourGameViewController alloc] nitWithNibName:@"CustomizeYourGameViewController" bundle:nil] autorelease]; 

и вы можете избавиться от окончательного

[customizeYourGameViewController release]; 

Я не уверен, что он делает (у вас есть Ивар с именем customizeYourGameViewController), но это, вероятно, не делать то, что вы думаете, что он делает ,

+0

Последней строкой образца является [customizeYourGameViewController release] ;. Добавление автореферата может сильно обойти утечку, но это не будет исправлять логику. –

+0

спасибо. Не заметил этого в неформатированном коде. – kubi

+0

А я не понял, что он отформатировал его после публикации. Извините, что прыгнул на вас! –

Смежные вопросы