2010-02-03 10 views
1
-(IBAction)startGameButtonClicked:(id)sender{ 
    //gameViewController = NULL; 
    //[gameViewController release]; 
    //[gameViewController dealloc]; 

    if(!gameViewController){ 
     gameViewController = [[GameViewController alloc] initWithNibName:@"GameViewController" bundle:nil]; 
    } 


    appDelegate.ScoreID=0; 
    [gameViewController resetLevel]; 
    [gameViewController resetTheGame]; 
    [self.navigationController pushViewController:gameViewController animated:YES]; 
} <---Says the leak is here 
+0

나중에 GameViewController를 해제 하시겠습니까? 그리고 resetLevel 및 resetTheGame 메서드는 깨끗합니까? –

답변

1

버튼을 클릭 할 때마다 새 gameViewController를 만들어 self.navigationController에 넣습니다.

매번 새로운 것을 만들고 싶지는 않습니다.

self.gameViewController = [[GameViewController alloc] initWithNibName:@"GameViewController" bundle:nil]; 

할당 및 상기 놓으면

+0

어떻게해야합니까? – Steve

+0

'gameViewController'를 속성이있는 ivar (인스턴스 변수)로 만들고 'self.gameViewController'로 참조하십시오. –

2

는 .H

@property(nonatomic,retain) GameViewController *gameViewController; 

@synthesize gameViewController 

다음 속성을 사용하는 .m에 속성으로 gameViewController 설정 끝

[self.navigationController pushViewController:gameViewController animated:YES]; 
[gameViewController release]; 
+0

정말 고마워요! – Steve

+0

이제 마지막 줄이 누출로 강조 표시됩니다. [gameViewController release]; – Steve

관련 문제