2012-03-28 9 views
2

電子メールを送信するたびに次のコードが流出し、何を変更するのか分かりません。オンラインでMFMailComposeViewControllerのリークが起こっているという人がいますが、リークが決して解決されなかったことは信じられないほどです。MFMailComposeViewControllerがリークしていますか?

次のコードで何が問題なのか、またはMFMailComposeViewControllerがリークすることを確認してください。

- (void) email { 
if ([MFMailComposeViewController canSendMail]) { 

MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init]; 
mailViewController.mailComposeDelegate = self; 

[mailViewController setToRecipients:[[[NSMutableArray alloc] initWithObjects:@"[email protected]", nil] autorelease]]; 
[mailViewController setSubject:@"Contact us"]; 
[self presentModalViewController:mailViewController animated:YES]; 
[mailViewController release]; 
} else { 
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Cannot send email" 
               message:@"Please check your email setting" 
               delegate:nil 
             cancelButtonTitle:@"OK" 
             otherButtonTitles:nil]; 
[alert show]; 
[alert release]; 
} 
} 

- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error { 
[self dismissModalViewControllerAnimated:YES]; 
} 
+0

がよさそうです。あなたはarrayWithObjectsを使用しようとすることができますが、これには影響しません。どんなツールが漏れを示していますか? – beryllium

+2

1つのノート - setToRecipientsはNSArrayをとります。変更可能なバージョンを作成する理由はありません – beryllium

答えて

2

このコードに問題はありません。あなたがそれにちょうど入っているアプリケーションのリークを見ているなら、どのステップがリークを引き起こすかについての具体的な指示とともにレーダーを提出することをお勧めします。私はこれまで、受信者回線の設定を変更します別のノートで

[mailViewController setToRecipients:[NSArray arrayWithObject:@"[email protected]"]]; 
+0

便利なクラスをうまく使用すれば、それだけで+1の価値があります。 – RonLugge

関連する問題