iphone - 从内存中删除 ViewController

标签 iphone objective-c

我希望加载一个 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)。您可以使用 viewWillDisappearviewDidDisappear 来响应关闭(dealloc 最终也会被调用,但不一定是在 View 关闭时调用) 。

关于iphone - 从内存中删除 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2680667/

相关文章:

iphone - 将运行时详细信息发送到 HTML 文件,以便从 iPhone 的应用内电子邮件发送

带有 c 数组数组的 Objective-C malloc

javascript - 从 iphone 获取图像,使用 phonegap camera api

iphone - iPhone应用程序中的xmlparser使mach_msg_trap崩溃

ios - 想要在 cloudkit 仪表板上上传视频并在 ios 应用程序中显示该视频?

ios - 如何在 iOS 6+ 上解码 h264 字节流?

iphone - 如何在(有时)可编辑的 UITextView 中启用数据检测器

iphone - 在核心图折线图中旋转数据标签

ios - 将 UITextView 放在未定义数量的 UITableViewCell 下方?

iphone - 替换数组中的字符串