2012-11-16 217 views
0

得到一個奇怪的斷言失敗iOS中呈現電子郵件時提示斷言失敗

代碼:

 
- (void)displayComposerSheet:(id)delegate withDataSource:(id)datasource { 
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; 
    picker.navigationBar.tintColor = self.navigationController.navigationBar.tintColor; 
    picker.mailComposeDelegate = delegate; 
    //Use the datasource to fill in the email fields 
    if ([[datasource recipients] count] > 0) 
     [picker setToRecipients:[datasource recipients]]; 
    [picker setSubject:[datasource subject]]; 

    [picker setMessageBody:[datasource emailText] isHTML:[datasource isHTML]]; 
    [[UIWindow topMostController] presentModalViewController:picker animated:YES]; 
    [picker becomeFirstResponder]; 

    [picker release]; 
} 

 
MyApp[60324:907] *** Assertion failure in -[MFMailComposeInternalViewController _endDelayingCompositionPresentation], /SourceCache/MessageUI/MessageUI-1075.10/Mail/MFMailComposeInternalViewController.m:316 

回答

0

唉混寫的危險....

我用我自己的方法調用UINavigationController的pushViewController方法,該方法在內部使用setViewControllers。 (我一直在遇到一些線程問題,其中相同的視圖控制器被推兩次。)