Dealloc没有被叫到?

时间:2011-12-04 04:04:16

标签: ios memory dealloc

这是我在我的应用中切换视图的方式:

CGRect frame = self.view.frame;
    frame.origin.x = CGRectGetMaxX(frame);
    ViewController *view2 = [[[ViewController alloc] init] autorelease];
    view2.view.frame = frame;
    [self.view.superview addSubview:view2.view];    
    [UIView animateWithDuration:0.4 
                     animations:^{
                         CGRect frame = self.view.frame;
                         view2.view.frame = frame;
                         frame.origin.x -= frame.size.width;
                         self.view.frame = frame;
                     }
                     completion:^(BOOL finished){
                         [self.view removeFromSuperview];
                     }];

问题是,我的dealloc没有被调用。任何想法为什么以及如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

这个代码是否在视图控制器中(看起来像是这样)?如果是这样,删除视图就不会导致视图控制器本身被释放 - 其他人保留了这一点。当你的视图被卸载时,在内存警告期间发生的事情是一样的,但不是你的视图控制器......

基本上,你期望被称为什么dealloc?