2010-03-27 4 views
1

Приложение Leaks сообщает мне, что следующая функция вызывает утечку памяти, и я не могу понять, почему.pushViewController вызывает утечку памяти

-(void)viewGameList { 
GameListController *gameListViewController = [[GameListController alloc] initWithNibName:@"GameListController" bundle:nil]; 
gameListViewController.rootController = self; 
[self.navigationController pushViewController:gameListViewController animated:YES]; 
[gameListViewController release]; 

}

Он говорит мне, что эта линия вызывает утечку памяти в 128 байт.

[self.navigationController pushViewController:gameListViewController animated:YES]; 

Я пропустил что-то очевидное?

+0

Как объявляется свойство '.rootController'? – kennytm

+0

Я не уверен, правильно ли код будет отображаться в комментарии, но это ответ на ваш вопрос с GameListController.m: @class RootViewController; @interface GameListController: UIViewController { \t RootViewController * rootController; } @property (неатомный, сохраняющий) RootViewController * rootController; Любые идеи относительно того, почему я получаю утечку памяти здесь? – hookjd

ответ

1

Одно правило об управлении памятью в iPhone.

  • Детский объект никогда не должен сохранять родителя.

Таким образом, не используйте сохранить в декларации об имуществе, используйте назначить вместо этого.

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