Ios 用Swift发送应用内电子邮件

Ios 用Swift发送应用内电子邮件,ios,email,swift,Ios,Email,Swift,在Swift中很难做到这一点。在目标C中非常简单。我在日志中得到的错误如下: 2015-01-31 22:16:58.734 fun facts[15208:623304] Unknown class Settings in Interface Builder file. 2015-01-31 22:17:10.783 fun facts[15208:623304] -[UIViewController sendEmail:]: unrecognized selector sent to ins

在Swift中很难做到这一点。在目标C中非常简单。我在日志中得到的错误如下:

2015-01-31 22:16:58.734 fun facts[15208:623304] Unknown class Settings in Interface Builder file.
2015-01-31 22:17:10.783 fun facts[15208:623304] -[UIViewController sendEmail:]: unrecognized selector sent to instance 0x7f9b7bc2fa30
2015-01-31 22:17:10.794 fun facts[15208:623304] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController sendEmail:]: unrecognized selector sent to instance 0x7f9b7bc2fa30'
请参阅下面的代码。知道我做错了什么吗

//////////////////////SEND EMAIL


    @IBAction func sendEmail(sender: AnyObject) {

        var emailTitle = "Test Email"
        var messageBody = "This is a test email body"
        var toRecipents = ["yolo@mail.com"]
        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)
    }



    func mailComposeController(controller:MFMailComposeViewController, didFinishWithResult result:MFMailComposeResult, error:NSError) {
        switch result.value {
        case MFMailComposeResultCancelled.value:
            println("Mail cancelled")
        case MFMailComposeResultSaved.value:
            println("Mail saved")
        case MFMailComposeResultSent.value:
            println("Mail sent")
        case MFMailComposeResultFailed.value:
            println("Mail sent failure: \(error.localizedDescription)")
        default:
            break
        }
        self.dismissViewControllerAnimated(false, completion: nil)
}

}

如果您意外地将视图的类设置为不兼容的自定义类,则可能会发生此类错误;例如,意外地将
UIButton
的自定义类设置为“设置”,即在这种情况下为
UIViewController
类,可能导致了您的特定错误。

请检查您是否已在Interface Builder中为场景设置了自定义视图控制器类发送电子邮件的类是什么?@Paulw11从错误消息中,他似乎已尝试过。但错误消息显示了有关
UIViewController
超类的信息。应该有他的风投。情节提要部分肯定有问题。@user3615707您确定没有意外地设置按钮,例如,使用自定义类“设置”而不是设置视图控制器的自定义类吗?请注意,尽管此解决方案在这种特殊情况下有效,还有许多其他可能的解决方案可以解决类似的错误:,