Swift MFMailComposer Необязательный тег - PullRequest
0 голосов
/ 02 октября 2018

Я хочу задать вопрос об использовании MFMailComposer в Swift.

Я создаю шаблон электронной почты ниже.Оно работает.Но он ставит «необязательные» теги перед каждой меткой данных.Может кто-нибудь мне помочь?Как я могу обрезать этот тег?Спасибо!

Я делюсь своим скриншотом ниже.

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) {}
}

}

1 Ответ

0 голосов
/ 02 октября 2018

Ваши detailsLabel.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>"
...