我正在添加一个子视图控制器,如下所示:
loginViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
loginViewController.delegate = self;
[self addChildViewController:loginViewController];
[self.view addSubview:loginViewController.view];
loginViewController.view.frame = self.view.bounds;
[loginViewController didMoveToParentViewController:self];
将其删除如下:
[loginViewController willMoveToParentViewController:nil];
[loginViewController.view removeFromSuperview];
[loginViewController removeFromParentViewController];
如果我理解正确应该在LoginViewController中触发dealloc但它没有?我错过了什么吗?
答案 0 :(得分:0)
不完全。删除控制器的视图与释放的控制器无关,只是控制器的视图(由控制器保留,因此不会取消分配。
你有[self addChildViewController:loginViewController];
,你在某处存放吗?也许是一个阵列?如果是这样的话,那就是你的泄密。您需要将其从您放置的任何地方删除