1

我必须循环调用 MFMailComposeViewController 3 次,例如

for (int i=0; i<4; i++ {
   [self presentMyMFMailComposeViewController];
}

问题在于,呈现 MFMailComposeViewController 本身就是一个异步任务,一旦循环第一次调用控制器,它就不会等待电子邮件发送,而是第二次调用,然后第三次调用。

如何让它等待电子邮件发送?

4

1 回答 1

3

需要实现MFMailComposeViewControllerDelegate,具体如下方法

– mailComposeController:didFinishWithResult:error:

当邮件视图控制器完成时调用此方法,从这里您可以呈现一个新的邮件视图控制器。数一数你用实例变量等显示了多少。

在您的 presentMyMFMailComposeViewController 方法中,您按如下方式设置委托。

MFMailComposeViewController *myMailViewController = ...
myMailViewController.delegate = self;
于 2013-01-17T22:58:46.147 回答