2013-01-17 84 views
1

我要叫MFMailComposeViewController 3次在一個循環中,像調用MFMailComposeViewController異步順序

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

問題是,呈現MFMailComposeViewController是一個異步任務本身並儘快循環調用的控制器第一次,它不會等待電子郵件被髮送,並且會再次打電話,然後再打三次。

如何讓它等待郵件發送?

回答

3

您需要實現MFMailComposeViewControllerDelegate,具體有以下幾種方法

– mailComposeController:didFinishWithResult:error: 

當郵件視圖控制器完成這個方法被調用,從這裏可以提出一個新的郵件視圖控制器。通過一個實例變量或類似的東西來保持你已經顯示的數量。

在您的presentMyMFMailComposeViewController方法中,您按如下方式設置委託。

MFMailComposeViewController *myMailViewController = ... 
myMailViewController.delegate = self; 
+0

謝謝。而已! – SpaceDog