我有类UNetwork是UIViewController的子类。调用UIViewController,永远不会被释放
当用户按下按钮我使用此代码调用它:
OTNetwork *net = [[OTNetwork alloc] initWithNibName:@"OTNetwork" bundle:nil];
[self presentModalViewController:net animated:YES];
[net release];
当用户想要退出,按下按钮和OTNetwork对象发送通知,使得呼叫者的ViewController驳回视图控制器。这是代码:
[self dismissModalViewControllerAnimated:YES];
我的问题是OTNetwork对象dealloc方法从来没有被调用过。这是对从未停止过的定时器的无效调用。内存泄漏是一个附带问题。
在调用者视图控制器中,此对象仅由这些代码行创建和解除。
请帮忙吗?
在此先感谢!
感谢您的答案,但因为我不坚定,当一种方法创建一个对象,并且必须返回它,它必须是autorelease权限?在这种情况下,我怎样才能假设它将被释放?通过这个方法的调用者? – NemeSys 2012-03-02 17:56:01
对象分配和返回是一个不同的问题,但是,你可以自动释放一个但是,在当前问题的上下文中,如果要确保调用dealloc,请保留对“net”对象的引用,然后手动将其释放当viewcontroller关闭时,为了知道什么时候viewcontroller解散了,你可能需要设置一个委托来回报给调用控制器。请在上面回答我的答案,包括如何去做。 – vipinagg 2012-03-02 18:29:15