我试图在UILabel点击事件上打开邮件。但它引发了致命的错误:
在解包可选值时意外地发现了nil。
使用的代码:
func sendMail(sender:UITapGestureRecognizer){
print("mail::" + self.lblMail.text!) // joe@nts.com is here
let url = NSURL(string: "mailto:\(self.lblMail.text)")! //url is nil when debugged
UIApplication.sharedApplication().openURL(url)
}
答案 0 :(得分:3)
检查以确保self.lblMail.text
为非{n},然后再将其展开if let
:
if let email = self.lblMail.text {
let url = NSURL(string: "mailto:\(email)")!
UIApplication.sharedApplication().openURL(url)
}
如果收到错误:
LaunchServices:错误:URL方案mailto没有注册处理程序
确保您在实际设备上运行此代码,而不是iOS模拟器。
答案 1 :(得分:0)
尝试
static