2011-04-25 143 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它。所以你做了正确的事情。