在扩展文件中使用未解析的标识符错误?

时间:2016-11-17 12:53:12

标签: swift swift3 nsattributedstring

我正在制作一个将html转换为属性字符串的扩展程序,代码为

extension String {
var htmlToAttributedString: NSAttributedString? {
    guard let data = data(using: .utf8) else { return nil }
    do {
        return try NSAttributedString(data: data, options: [NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: String.Encoding.utf8.rawValue], documentAttributes: nil)
    } catch let error as NSError {
        print(error.localizedDescription)
        return  nil
    }
}
var html2String: String {
    return htmlToAttributedString?.string ?? ""
}

我收到以下3个相同的错误

  

使用未解析的标识符' NSDocumentTypeDocumentAttribute'

     

使用未解析的标识符' NSHTMLTextDocumentType'

     

使用未解析的标识符' NSCharacterEncodingDocumentAttribute'

我假设我在语法上犯了一个错误导致3个相同的错误,但我看不出扩展需要什么?

谢谢

1 个答案:

答案 0 :(得分:13)

isEligible() { return glob("**/*.less", function (err, files) { if (err) { return false; } return true; }) } NSDocumentTypeDocumentAttributeNSCharacterEncodingDocumentAttribute和 文档属性词典的其他键和值 定义于 AppKit框架(macOS)或UIKit框架(iOS):

NSHTMLTextDocumentType