我正在尝试了解内存管理以做一些更好的应用程序,但一度停止了:
我使用了一些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];
}