1

我试图了解内存管理来做一些更好的应用程序,但在某一时刻被停止了:

我用一些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];
}
4

0 回答 0