Я пытаюсь преобразовать атрибутивный текст в HTML в Swift 4, чтобы его можно было сохранить в Firebase / Firestore и синхронизировать на разных устройствах / платформах. Я прочитал каждую статью, которую я могу найти в Stackoverflow, включая Преобразовать атрибутированную строку в "простой" теговый html , Преобразовать атрибутивный текст в HTML и эту статью блога: http://sketchytech.blogspot.com/2016/02/swift-from-html-to-nsattributedtext-and.html. Я обнаружил, что Swift 4.x генерирует неразрешенную ошибку идентификатора для NSDocumentTypeDocumentAttribute и NSHTMLTextDocumentType в различных примерах кода (пример ниже). Эти ошибки не генерируются в Swift 3.x. Xcode предполагает, что я мог бы использовать NSDocumentTypeDocumentOption, но не предлагает исправления, и я не уверен, что это то, что я хочу, или как его использовать, если оно есть.
let myAttributes = [ NSAttributedStringKey.foregroundColor: UIColor.green ]
let attrString = NSAttributedString(string: "Hello.", attributes: myAttributes)
let x = attrString
var resultHtmlText = ""
do {
let r = NSRange(location: 0, length: x.length)
let att = [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType]
let d = try x.data(from: r, documentAttributes: att)
if let h = String(data: d, encoding: .utf8) {
resultHtmlText = h
}
}
catch {
print("utterly failed to convert to html!!! \n>\(x)<\n")
}
print(resultHtmlText)
Спасибо за вашу помощь