首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MFMailComposeViewController从不释放

MFMailComposeViewController从不释放
EN

Stack Overflow用户
提问于 2014-05-18 22:14:03
回答 1查看 180关注 0票数 1

我展示的MFMailComposeViewController是这样的:

代码语言:javascript
复制
mc = [[MFMailComposeViewController alloc] init];
mc.mailComposeDelegate = self;
[self presentViewController:mc animated:YES completion:NULL];
 mc = nil;

并使用委托方法将其移除:

代码语言:javascript
复制
- (void) mailComposeController:(MFMailComposeViewController *)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
   [self dismissViewControllerAnimated:YES completion:nil];
}

问题是VC永远不会被释放,在我的应用程序中打开和关闭“发送电子邮件”功能会占用内存,但不会释放它。

我遗漏了什么?我不知道我还能怎么做,而且我所有的其他风投在调用dismissviewcontroller之后,都能很好地自行释放。

EN

回答 1

Stack Overflow用户

发布于 2014-05-18 22:57:46

为什么在presentViewController:mc之后立即设置mc = nil

代码语言:javascript
复制
mc = [[MFMailComposeViewController alloc] init];
mc.mailComposeDelegate = self;
[self presentViewController:mc animated:YES completion:NULL];

然后

代码语言:javascript
复制
- (void) mailComposeController:(MFMailComposeViewController *)controller 
            didFinishWithResult:(MFMailComposeResult)result error:(NSError *)error
{
 [self dismissViewControllerAnimated:YES completion:^{
    mc=nil;
}];
}

顺便说一下,MFMailComposeViewController有内存泄漏问题。这不仅仅是你的问题,我们都有同样的问题。

  1. Cancelling MFMailComposeViewController causes a memory leak?
  2. Memory leak for MFMailcomposeviewcontroller on send mail
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23722847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档