swift - MFMailComposeResult 常量不能在 Swift 2.3 中编译

标签 swift email swift2

我今天早上更新到 XCode 8,并选择将我的 Swift 文件转换为 2.3 而不是 3。我已经解决了所有编译问题,除了下面的代码。只有 MFMailComposeResultSent 案例实际上做了任何重要的事情。 XCode 表示 MFMailComposeResultSent 和其他类似情况是未解析的标识符。最新的文档显示我应该使用 MFMailComposeResult.sent,并且自动建议功能提供了这种可能性,但它也拒绝编译。如果您能提供有关如何进行此编译以用于 Swift 2.3 的信息,我将不胜感激。

谢谢。

func mailComposeController(controller:MFMailComposeViewController, didFinishWithResult result:MFMailComposeResult, error:NSError?) {
    switch result.rawValue {
    case MFMailComposeResultCancelled.rawValue:
        print("Mail canceled")
    case MFMailComposeResultSaved.rawValue:
        print("Mail saved")
    case MFMailComposeResultSent.rawValue:
        makeToast("Successfully sent email.", duration: 3)
        print("Mail sent")
    case MFMailComposeResultFailed.rawValue:
        print("Mail sent failure: \(error!.localizedDescription)")
    default:
        break
    }
    hideActivityIndicator()
    self.dismissViewControllerAnimated(true, completion: nil)
}

最佳答案

到处都是 rawValue 是怎么回事?只需打开外壳即可。像这样:

switch result {
case .Cancelled: // something
case .Saved: // something
// .. and so on

关于swift - MFMailComposeResult 常量不能在 Swift 2.3 中编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40492079/

相关文章:

ios - 单击预览以显示目标 VC

generics - 在这种情况下我可以使用 swift Generic

Django 电子邮件客户端

php - 为什么换行符转义序列没有被转换成换行符?

ios - 无法下标任何对象类型的值

java - 有没有类似于本地 swift 和 java 开发者的 React Storybook 的东西?

Swift 3 - 从核心数据中获取值(value)

php - 在 Laravel 上更改密码重置的电子邮件 View 路径

swift - TableView 有 3 个部分且单元格崩溃

swift - 类型 'Int' 不符合协议(protocol) 'NSCopying'