Iphone 使用MFMailComposeViewController发出问题

Iphone 使用MFMailComposeViewController发出问题,iphone,objective-c,ios,mfmailcomposeviewcontroller,Iphone,Objective C,Ios,Mfmailcomposeviewcontroller,我在使用MFMailComposeViewController时遇到问题。下面是我尝试在设备上运行的示例代码。我故意增加了5秒的延迟(只是为了模拟下载附件文件的体验),之后应用程序会显示“邮件”控制器。在延迟期间,如果我们点击home(主页)按钮,即让应用程序在后台运行并在5秒前恢复应用程序,则subject(主题)字段将为空,并且消息正文的值为“message 1”,而不是“message 2”。如果我们最小化应用程序并在5秒后恢复应用程序,则subject(主题)不会出现,但正文将为“mes

我在使用MFMailComposeViewController时遇到问题。下面是我尝试在设备上运行的示例代码。我故意增加了5秒的延迟(只是为了模拟下载附件文件的体验),之后应用程序会显示“邮件”控制器。在延迟期间,如果我们点击home(主页)按钮,即让应用程序在后台运行并在5秒前恢复应用程序,则subject(主题)字段将为空,并且消息正文的值为“message 1”,而不是“message 2”。如果我们最小化应用程序并在5秒后恢复应用程序,则subject(主题)不会出现,但正文将为“message2”,而不是“信息1”。你能帮我了解一下这种行为吗

-(void) func:(MFMailComposeViewController *) mail
{
    [mail setMessageBody:@"message 2" isHTML:NO];
    [self presentModalViewController:mail animated:YES];    
} 

- (IBAction)action:(id)sender 
{
    MFMailComposeViewController * mail = [[MFMailComposeViewController alloc] init];
    [mail setMailComposeDelegate:self];
    [mail setMessageBody:@"message 1" isHTML:NO];
    [mail setSubject:@"subject 1"];

  dispatch_async(dispatch_get_main_queue(), ^{    
        [self performSelector:@selector(func:) withObject:mail afterDelay:5];     
  });
}
谢谢

给你

-(IBAction)email {
    MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init];
    [composer setMailComposeDelegate:self];
    if ([MFMailComposeViewController canSendMail]) {
        [composer setToRecipients:[NSArray arrayWithObjects:@"", nil]];
        [composer setSubject:@""];
        [composer setMessageBody:@"" isHTML:NO];
        [composer setModalTransitionStyle:UIModalTransitionStyleCrossDissolve];
        [self presentModalViewController:composer animated:YES];
        [composer release];
    }
    else
        [composer release];
}

这并不能回答问题。