ส่วนขยายเริ่มต้น Swift บน NSAttributedString
ความโน้มเอียงของฉันคือการเพิ่มนี้เป็นส่วนขยายไปมากกว่าNSAttributedString
String
ฉันพยายามเป็นส่วนขยายแบบคงที่และเป็นเครื่องมือเริ่มต้น ฉันชอบตัวเริ่มต้นซึ่งเป็นสิ่งที่ฉันได้รวมไว้ด้านล่าง
สวิฟต์ 4
internal convenience init?(html: String) {
guard let data = html.data(using: String.Encoding.utf16, allowLossyConversion: false) else {
return nil
}
guard let attributedString = try? NSAttributedString(data: data, options: [.documentType: NSAttributedString.DocumentType.html, .characterEncoding: String.Encoding.utf8.rawValue], documentAttributes: nil) else {
return nil
}
self.init(attributedString: attributedString)
}
สวิฟท์ 3
extension NSAttributedString {
internal convenience init?(html: String) {
guard let data = html.data(using: String.Encoding.utf16, allowLossyConversion: false) else {
return nil
}
guard let attributedString = try? NSMutableAttributedString(data: data, options: [NSAttributedString.DocumentReadingOptionKey.documentType: NSAttributedString.DocumentType.html], documentAttributes: nil) else {
return nil
}
self.init(attributedString: attributedString)
}
}
ตัวอย่าง
let html = "<b>Hello World!</b>"
let attributedString = NSAttributedString(html: html)