MailComposer didFinishWith 结果在 Swift 3.0 中不起作用
Posted
技术标签:
【中文标题】MailComposer didFinishWith 结果在 Swift 3.0 中不起作用【英文标题】:MailComposer didFinishWith results doesn't work in Swift 3.0 【发布时间】:2016-09-20 19:04:39 【问题描述】:我将我的应用程序转换为 swift 3.0 并遇到MailComposeController
的问题。当我调用函数时:
`func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?)
controller.dismiss(animated: true, completion: nil)
`
首先我有一个信息错误:
对我来说奇怪的是,因为我从MFMailComposeViewControllerDelegate
复制并粘贴了此方法。当我将Error
更改为NSError
时,它可以工作,但是我收到一条带有信息的警告,此方法需要是私有的以避免此警告。
当我在 mailComposer 中查看电子邮件并尝试点击 Cancel
时,此控制器不会消失。任何解决方案如何解除此控制器?
【问题讨论】:
相同的代码对我来说工作正常。你清理和重建你的代码了吗? 是的,我尽我所能,但仍然有这个愚蠢的错误 【参考方案1】:我遇到了同样的问题,因为我正在导入 RealmSwift
,它有自己的 Error
结构。
通过指定您想要的错误类型来修复它。在这种情况下,Swift.Error
。
完整代码:
func mailComposeController(_控制器:MFMailComposeViewController,didFinishWith结果:MFMailComposeResult,错误:Swift.Error?) controller.dismiss(动画:真,完成:无)【讨论】:
他妈的命名问题。一旦你创建了自己的Error
类,它会变得更加有趣以上是关于MailComposer didFinishWith 结果在 Swift 3.0 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Expo大作战(三十三)--expo sdk api之MapView(地图),MailComposer(磁力传感计),Lottie(动画)