2009-07-28 9 views
0

ここはサンプルコードです。ナビゲーションコントローラーにプッシュした後にviewcontrollerのオブジェクトを解放する必要がありますか?

if(MyPageViewControllerObj==nil) 
    { 
     MyPageViewController *vController = [[MyPageViewController alloc] initWithNibName:@"MyPageView" bundle:[NSBundle mainBundle]]; 
     self.MyPageViewControllerObj=vController; 
     [vController release]; 
     noOfWrongAnswers=0; 
     noOfRightAnswers=0; 
    } 
    MyPageViewControllerObj.sessionid=sessionid; 
    MyPageViewControllerObj.categoryID = categoryId; 
    MyPageViewControllerObj.flashcardIdforcount = flashcardid; 
    MyPageViewControllerObj.categoryType=categoryType; 
    MyPageViewControllerObj.indexViewControllerobj=self; 
    [self.navigationController pushViewController:MyPageViewControllerObj animated:YES]; 

私はdeallocメソッドでも、ナビゲーションcontroller.andにそれを押した後

**** [MyPageViewControllerObjリリース] ****この行を記述する必要はない...

答えて

3

はいMyPageViewControllerObjは、UINavigationControllerとして保持する必要があります。それは-deallocメソッドにある必要はありません。

+0

お返事ありがとうございます。また、この行の影響を受けて何かを教えてください。 deallocメソッド [self.navigationController popViewControllerAnimated:YES]; –

+0

ビューコントローラをポップすると、参照カウントが減少します。ゼロの場合(これはおそらく)、自動的にdeallocされます。 deallocメソッドに直接追加する必要はありません。 Objective Cのメモリ管理についてお読みになることをお勧めします。あなたがそれを掛けるとかなり簡単です。 –

関連する問題