我希望加载一个 ViewController 并执行一些操作,然后从内存中卸载(viewDidUnload)它。
if (self.vViewController5.view.superview==nil)
{
ViewController5 *blueController =
[[ViewController5 alloc] initWithNibName:@"View5" bundle:nil];
self.vViewController5 = blueController;
[self.vViewController5 setDelegate:self];
[blueController release];
}
[self presentModalViewController:vViewController5 animated:YES];
稍后再打电话
[self dismissModalViewControllerAnimated:YES];
但是我发现dismissModalViewControllerAnimated并没有触发Viewcontroller5的viewDidUnload事件。
我尝试了函数释放,但导致程序崩溃。 我也尝试了removeFromSuperView,但它也没有触发ViewDidUnload事件。
欢迎大家留言
谢谢
交互开发
最佳答案
viewDidUnload
仅当您的应用程序收到内存警告且 View 未处于事件状态时才会调用。它通常用于释放保留的 View (包括IBOutlet)。您可以使用 viewWillDisappear
或 viewDidDisappear
来响应关闭(dealloc
最终也会被调用,但不一定是在 View 关闭时调用) 。
关于iphone - 从内存中删除 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2680667/