Swift MFMailComposer 可选标签

Swift MFMailComposer Optional Tag

我想问一个关于 Swift.

上 MFMailComposer 用法的问题

我正在创建下面的电子邮件模板。有用。但是,它将 "optional" 标签放在每个标签数据之前。谁能帮我?我怎样才能 trim 那个标签? 谢谢!

我在下面分享我的截图。

https://www.dropbox.com/s/mk23ze0p32769uj/IMG_4152.jpg?dl=0

这是我的代码;

    @IBAction func sendEmailClicked(_ sender: AnyObject) {

    let dateString: String = DateFormatter.localizedString(from: Date(), dateStyle: .short, timeStyle: .short)
    let body = "Lorem Ipsum <strong>\(dateString)</strong> dolor sit amet. <br><br><p><strong>\(String(describing: detailedLabel.text)).</strong></p><br>Lorem ipsum dolor sit amet.<br><br><p> <strong>\(String(describing: taskDescriptionTextView.text))</strong></p>"



    mailComposer = MFMailComposeViewController()
    mailComposer.mailComposeDelegate = self

    mailComposer.setToRecipients(["acme@acme.com"])
    mailComposer.setSubject("\(dateString) Lorem Ipsum dolor sit amet.")
    mailComposer.setMessageBody(body, isHTML: true)

    if let image = self.taskPhotoImageView.image {
        let imageData: Data = UIImagePNGRepresentation(image)!
            mailComposer.addAttachmentData(imageData, mimeType: "image/jpg", fileName: "image.jpg")
    }
    self.present(mailComposer, animated: true) {}
}

}

你的 detailedLabel.text 和 taskDescriptionTextView.text 都是可选的,你应该在使用它们之前打开它们。

guard let detailText = detailedLabel.text, let descriptionText = taskDescriptionTextView.text else {
    //error handling
    return
}

现在您可以在正文字符串中使用它们了

let body = "Lorem Ipsum <strong>\(dateString)</strong> dolor sit amet. <br><br><p><strong>\(detailText).</strong></p><br>Lorem ipsum dolor sit amet.<br><br><p> <strong>\(descriptionText)</strong></p>"