MFMailComposeViewControllerを使用して電子メールを送信するクラスを作成しようとしています。別のクラス(MFMailComposeViewController)からモーダルビューを提示する
このクラスはアポイオと呼ばれます。
このクラスでは、以下の方法があります。
-(void) enviarGraficoPorEmail: (NSData*) _pdfGrafico {
if (![MFMailComposeViewController canSendMail]) {
// show message box for user that SMS cannot be sent
} else {
MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
picker.mailComposeDelegate = self;
[picker setSubject:@"Dashboard"];
[picker addAttachmentData:_pdfGrafico mimeType:@"application/pdf" fileName:@"grafico.pdf"];
NSString *emailBody = @"Anexando gráfico";
[picker setMessageBody:emailBody isHTML:NO];
[self presentModalViewController:picker animated:YES];
}
}
ユーザーが電子メールボタンをクリックしたときにアポイオメソッドを呼び出す別のビューコントローラがあります。このコードは以下のとおりです
-(IBAction) enviarGraficoPorEmail {
Apoio *apoio = [[Apoio alloc] init];
[apoio enviarGraficoPorEmail:[barChart dataForPDFRepresentationOfLayer]];
}
しかし、私は電子メールの表示が表示されない理由はわかりません。私はデバッグしたので、このメソッドは正しいと呼ばれます。
私はapoioメソッドからenviarGraficoPorEmailメソッドにコードをコピーすると、すべてが完璧に動作します。
しかし、私はこれをやりたいとは思わない、beucase病気は、他のビューのコントローラから電子メールを送信します。
何が間違っていますか?
Hummm ...しかし問題は、そのメソッドを汎用的にしたいので、私は呼び出すことができますそれは他のコントローラから見ることができます。 callControlerの名前を動的に取得する方法を知っていますか? –
genericメソッドを呼び出す際にselfをパラメータとして渡すだけで、selfは現在のUIViewControllerインスタンスを参照します – Muddsar
Thnaks muddsar! –