使用MFMailComposeViewController时,为什么会出现“未解析的标识符”

时间:2017-07-17 22:27:30

标签: swift email mfmailcomposeviewcontroller

这非常令人沮丧,因为我查看了最近的答案,教程等中的代码示例,了解如何创建发送电子邮件功能(使用内置的ios邮件)并且它给我带来了错误。具体而言,未解决的使用“自我标识符”和“现在”

func sendEmail(sender: AnyObject) {
    let mailVC = MFMailComposeViewController()
    mailVC.mailComposeDelegate = self
    mailVC.setToRecipients([])
    mailVC.setSubject("Subject for email")
    mailVC.setMessageBody("Email message string", isHTML: false)

    presentViewController(mailVC, animated: true, completion: nil)
}

我做错了什么例子?从逻辑上讲,它是有道理的;我创建了一个mailcompose实例,然后将其委托分配给自己。

看看这两个用途: https://www.hackingwithswift.com/example-code/uikit/how-to-send-an-email Sending an email from swift 3

2 个答案:

答案 0 :(得分:2)

确保添加import MessageUI,并且还需要符合MFMailComposeViewControllerDelegate协议。

答案 1 :(得分:0)

您报告的两个错误都暗示您的sendEmail函数可能已在视图控制器类之外声明(即,它是一个全局函数)。如果是这种情况,请将其移至相应的UIViewController子类;)

正如Nemanja的回答所正确指出的那样,一定要导入MessageUI框架。