HTML を NSAttributedString に変換する

HTML の文字列は

let html = "<h1><a href=\"http://tnakamura.hatenablog.com\">Title</a></h1>"
    + "<ul>"
    + "<li><strong>Item1</strong></li>"
    + "<li><i>Item2</i></li>"
    + "</ul>"
let data = html.dataUsingEncoding(
    NSUTF8StringEncoding, allowLossyConversion: true)
let attrStr = NSAttributedString(HTMLData: data, documentAttributes: nil)

という風に NSData を経由して NSAttributedString に変換できる。

こいつを NSAttributedString を表示できるコントロール、例えば UILabel に

self.label.attributedText = attrText

でセットすれば、UIWebView を使わずに HTML を表示することができる。