我已将MailComposer示例添加到一个简单的项目中,并在一个按钮下执行以下代码:
// display in app email
MailComposerViewController *emailClient = [[MailComposerViewController alloc] init];
[self.view addSubview:emailClient.view];
[emailClient showPicker:self];
[emailClient release];
最后一行让我很头疼。如果我不像我创建内存泄漏那样,如果我添加该行,邮件客户端显示但是当我单击取消或发送时应用程序挂起。 内存泄漏(也就是没有最后一行)一切正常。
在这样一个非常有名的案例中,最好的方法是什么? 我想在同一个方法中创建一个选项,该对象有委托等。 在应用程序的整个生命周期中保持该对象的存在是不值得的。
谢谢, 横行
答案 0 :(得分:1)
当您使用由所述视图控制器管理的视图时,您需要保留视图控制器。
相反,您需要拥有一个实例变量或一个保留emailClient
的属性。
您希望尽可能少地使用内存,这很棒;但有时只需要保持一些物体存活。