我试图了解内存管理来做一些更好的应用程序,但在某一时刻被停止了:
我用一些UIButtons
. 所以我分配它们,与它们一起工作等。但我需要在某一时刻释放它们。所以我dealloc
为所有UIViewController
在屏幕上一直有用的对象实现了方法,当它消失时需要释放。所以在我的UIViewController
实施中:
-(void)dealloc
{
NSLog(@"Dealloc call");
[myButton release];
.... //Some objects release
[super dealloc];
}
但是我从来没有看到打印过 Dealloc 调用,所以我认为它在消失dealloc
时没有通过方法传递UIViewController
。
那么它是怎样工作的 ?/ 什么是假的?
谢谢 !
编辑:改变 viewController 的方法:
-(void)myMethod
{
if (!nextviewcontroller)
{
nextviewcontroller = [[NextViewController alloc]init];
}
UIView *nextView = nextviewcontroller.view;
UIView *actualView = actualviewcontroller.view;
[actualviewcontroller viewWillAppear:NO];
[nextviewcontroller viewWillDisappear:NO];
[actualView removeFromSuperview];
[self.view addSubview:nextView];
[actualviewcontroller viewDidAppear:NO];
[nextviewcontroller viewDidDisappear:NO];
}