我正在尝试将图片.png附加到电子邮件中 任何人都可以告诉我,我做错了什么? 提前谢谢....
restTemplate
答案 0 :(得分:1)
您还没有设置mailComposerVC是什么 - 您告诉您的代码使用尚未定义的行。从Swift 1.2开始,您必须先定义常量才能使用它。尝试在代码中进一步移动let ...语句,或使用之前定义的常量。
答案 1 :(得分:1)
您的代码现在看起来正确,除了几件事。首先:你应该留下self.presentViewController(mailComposeViewController,animated:true,completion:nil)行并在将图像附加到mailComposeViewController之后放置它 - 你仍然需要显示这个控制器。第二:你得到错误的原因是你没有为myUIImage设置价值并试图使用"隐含地展开这个值!"标志。如果属性可以为nil,则使用可选类型。我的意思是myUIImage属性应该是UIImage?而不是UIImage!然后检查是否应该设置图像。因此,代码的最终版本应该是这样的:
var myImage: UIImage?
@IBAction func shareThisApp(sender: AnyObject) {
let mailComposeViewController = ShareAppEmail()
if MFMailComposeViewController.canSendMail() {
if let myImage = myImage,
let myImageData = UIImagePNGRepresentation(myImage) {
mailComposeViewController.addAttachmentData(myImageData, mimeType: "image/png", fileName: "image.png")
presentViewController(mailComposeViewController, animated: true, completion: nil)
} else {
// myImage is not set or have wrong format
}
} else {
self.showSendMailErrorAlert()
}
}
// dropping func ShareAppEmail() cause everything seems correct there