2011-04-25 187 views
0
-(IBAction) btnLoginPressed{ 

    Login *loginOverView = [[Login alloc] initWithNibName:@"Login" bundle:nil]; 
    [self.navigationController pushViewController:loginOverView animated:YES]; 
    [loginOverView release]; 
} 

loginOverView永遠不會被釋放?這是可能的內存泄漏嗎?

回答

2

爲什麼你認爲它永遠不會被釋放?

你已經通過平衡初始化與發佈來做正確的事情。

(第二行的navigationController確實能保留登錄,但它會釋放出它本身在必要時)

+0

同意。 pushViewController:animated:方法負責保留/釋放您傳遞給它的引用。你只需要擔心你在分配什麼。 – csano 2011-04-25 05:47:20

0

您已經發布了,你已經採取的所有權通過allocnew的對象。所以根據內存管理指南你必須release它。所以你做了正確的事情。