Вы можете попробовать release
объекты в методе viewDidDisappear
.Тогда вы не будете ждать запуска метода dealloc
.
Также в методе viewDidDisappear
вы можете попытаться удалить все подпредставления из суперпредставления (которое вызовет viewWillDisappear
для всех подпредставлений):
NSArray *subviews = [self.view subviews];
for (UIView *view in subviews)
[view removeFromSuperview];