Si tratta di codice di esempio:MFMailComposeViewController a Swift
import UIKit
import MessageUI
class ViewController: UIViewController, MFMailComposeViewControllerDelegate {
@IBAction func showEmail(sender : AnyObject) {
var emailTitle = "Test Email"
var messageBody = "This is a test email body"
var toRecipents = ["[email protected]"]
var mc: MFMailComposeViewController = MFMailComposeViewController()
mc.mailComposeDelegate = self
mc.setSubject(emailTitle)
mc.setMessageBody(messageBody, isHTML: false)
mc.setToRecipients(toRecipents)
self.presentViewController(mc, animated: true, completion: nil)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
func mailComposeController(controller:MFMailComposeViewController, didFinishWithResult result:MFMailComposeResult, error:NSError) {
switch result {
case MFMailComposeResultCancelled:
NSLog("Mail cancelled")
case MFMailComposeResultSaved:
NSLog("Mail saved")
case MFMailComposeResultSent:
NSLog("Mail sent")
case MFMailComposeResultFailed:
NSLog("Mail sent failure: %@", [error.localizedDescription])
default:
break
}
self.dismissViewControllerAnimated(false, completion: nil)
}
}
In funzione mailComposeController ottengo un errore in tutti i casi espressione:
Impossibile trovare un sovraccarico '~ =' che accetta gli argomenti forniti.
Cosa sto sbagliando?
Hai provato a convertire i casi 'switch' in _Swift_-conforme? come 'case MFMailComposeResult.Cancelled:' ect ...? Non sono riuscito a trovare il riferimento a questo 'enum' in _Swift_, quindi la mia idea sarebbe piuttosto una domanda che una soluzione pura. – holex
Appena provato: MFMailComposeResult.Type non ha un membro chiamato 'Cancellato', ecc. –
suggerimento: ove possibile si dovrebbe usare 'let' invece di' var' – David