- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试将我的一个应用程序从 Obj-C 迁移到 Swift,但我遇到了电子邮件管理方面的问题。
我按小时搜索,但没有找到解决此问题的方法。
基本上,我正在尝试迁移 func mailComposeController(controller: MFMailComposeViewController!, didFinishWithResult result: MFMailComposeResult, error: NSError!)
函数。
问题是开关内的所有选项均无效。
func mailComposeController(controller: MFMailComposeViewController!, didFinishWithResult result: MFMailComposeResult, error: NSError!)
{
switch result.value
{
case CUnsignedInt(MFMailComposeResultCancelled):
var alert = UIAlertController(
title: NSLocalizedString("sendingStatus", tableName: "LocalizationFile", comment:"sendingStatus"),
message: NSLocalizedString("emailCancelledByUser", tableName: "LocalizationFile", comment:"emailCancelledByUser"),
preferredStyle: UIAlertControllerStyle.Alert)
self.presentViewController(alert, animated: true, completion: nil)
case MFMailComposeResult(MFMailComposeResultFailed):
var alert = UIAlertController(
title: NSLocalizedString("sendingStatus", tableName: "LocalizationFile", comment:"sendingStatus"),
message: NSLocalizedString("emailSentFailed", tableName: "LocalizationFile", comment:"emailSentFailed"),
preferredStyle: UIAlertControllerStyle.Alert)
self.presentViewController(alert, animated: true, completion: nil)
case MFMailComposeResultSaved:
var alert = UIAlertController(
title: NSLocalizedString("sendingStatus", tableName: "LocalizationFile", comment:"sendingStatus"),
message: NSLocalizedString("emailSaved", tableName: "LocalizationFile", comment:"emailSaved"),
preferredStyle: UIAlertControllerStyle.Alert)
self.presentViewController(alert, animated: true, completion: nil)
default:
var alert = UIAlertController(
title: NSLocalizedString("sendingStatus", tableName: "LocalizationFile", comment:"sendingStatus"),
message: NSLocalizedString("emailNotSent", tableName: "LocalizationFile", comment:"emailNotSent"),
preferredStyle: UIAlertControllerStyle.Alert)
self.presentViewController(alert, animated: true, completion: nil)
}
}
最佳答案
不要忘记,您还可以对要与变量结果进行比较的特定结果类型使用 .rawValue
(在旧版本的 Swift 中为 .value
) :
var result:MFMailComposeResult = MFMailComposeResultCancelled
switch(result.value) { // <-- Here, note .value is being used
case MFMailComposeResultCancelled.value: // <-- And here as well!
print("Cancelled")
default:
print("Default")
}
关于switch-statement - 发送电子邮件 - MFMailComposeResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24125578/
我正在尝试将我的一个应用程序从 Obj-C 迁移到 Swift,但我遇到了电子邮件管理方面的问题。 我按小时搜索,但没有找到解决此问题的方法。 基本上,我正在尝试迁移 func mailCompose
我正在构建一个应用程序,该应用程序可以构造电子邮件并将其呈现在 MFMailComposeViewController 中以供用户发送。当用户发送或取消它时,我希望应用程序以适当的确认屏幕消息进行响应
我正在构建一个应用程序,该应用程序可以构造电子邮件并将其呈现在 MFMailComposeViewController 中以供用户发送。当用户发送或取消它时,我希望应用程序以适当的确认屏幕消息进行响应
我正在构建一个应用程序,用于构建电子邮件并将其显示在 MFMailComposeViewController 中供用户发送。当用户发送或取消它时,我希望应用程序以适当的确认屏幕消息进行响应。 我能够撰
我今天早上更新到 XCode 8,并选择将我的 Swift 文件转换为 2.3 而不是 3。我已经解决了所有编译问题,除了下面的代码。只有 MFMailComposeResultSent 案例实际上做
我是一名优秀的程序员,十分优秀!