[swift-users] Creating a NSAttributedString from HTML
Erica Sadun
erica at ericasadun.com
Thu Sep 15 11:05:06 CDT 2016
> On Sep 14, 2016, at 9:43 AM, FĂ©lix Cloutier via swift-users <swift-users at swift.org> wrote:
>
> I'm trying to create a NSAttributedString from its HTML representation in Swift 3 (from the Xcode 8 GM build). However, this doesn't work:
>
>> import Foundation
>> import AppKit
>>
>> let html = "<i>hello world</i>"
>> let data = html.data(using: .utf8, allowLossyConversion: true)!
>> let attributed = NSAttributedString(HTML: data, documentAttributes: nil)
>
> The error that I get in the REPL (which is essentially identical to the one I get in an Xcode project) is:
>
>> error: ambiguous use of 'init(HTML:documentAttributes:)'
>> let str = NSAttributedString(HTML: data!, documentAttributes: nil)
>> ^
>>
>> found this candidate
>> found this candidate
>
> How should I do it? And perhaps more importantly, what's being done to allow me to figure it out myself?
I go to a more complex call until the issue goes away. Then file a bug. For me, adding options in fixed the issue.
let attributed = NSAttributedString(html: data, options: [:], documentAttributes: nil)
Swift seems to struggle with these because without "options", the API could match either one.
public init?(html data: Data, documentAttributes dict: AutoreleasingUnsafeMutablePointer<NSDictionary?>?)
public init?(html data: Data, options: [AnyHashable : Any] = [:], documentAttributes dict: AutoreleasingUnsafeMutablePointer<NSDictionary?>?)
-- E
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160915/cf5c4b19/attachment.html>
More information about the swift-users
mailing list