无法使用类型为 [重复] 的参数列表调用类型“NSAttributedString”的初始化程序

Posted

技术标签:

【中文标题】无法使用类型为 [重复] 的参数列表调用类型“NSAttributedString”的初始化程序【英文标题】:Cannot invoke initializer for type 'NSAttributedString' with an argument list of type [duplicate] 【发布时间】:2016-01-21 07:34:53 【问题描述】:

我按照这个例子来解码 html 值。 TO decode a json parsed value: answered by akashivskyy

我有这段代码,但出现以下错误:

let encodedString = "The Weeknd ‘King Of The Fall’"

let encodedData = encodedString.dataUsingEncoding(NSUTF8StringEncoding)!

let attributedOptions : [String: AnyObject] = [
    NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
    NSCharacterEncodingDocumentAttribute: NSUTF8StringEncoding
]

let attributedString = NSAttributedString(data: encodedData, options: attributedOptions, documentAttributes: nil, error: nil)!

let decodedString = attributedString.string 

错误:

无法使用类型为“(数据:NSData,选项:[String:AnyObject],documentAttributes:_,错误:_)”的参数列表调用类型“NSAttributedString”的初始化程序

感谢任何帮助建议任何答案。

【问题讨论】:

【参考方案1】:

NSAttributedString 初始化器中删除 error 选项,并改为添加 try

let attributedString = try? NSAttributedString(data: encodedData, options: attributedOptions, documentAttributes: nil)

【讨论】:

我认为错误是在最新的 Swift 2.1 中包含异常处理代码。 对!我忘记尝试了。

以上是关于无法使用类型为 [重复] 的参数列表调用类型“NSAttributedString”的初始化程序的主要内容,如果未能解决你的问题,请参考以下文章

无法使用类型为“”的参数列表调用类型“”的初始化程序

如何解决错误:无法调用类型为 `......` 的参数列表类型为 `...` 的初始化程序?

无法使用类型为“(字符串)”的参数列表调用“执行选择器”

无法使用类型为“(UInt32)”的参数列表调用类型“CGBitmapInfo”的初始化程序

无法使用类型为“(数字)”的参数列表调用类型“Int”的初始化程序

无法使用类型为 (('WeatherResponse?, NSError?) -> Void 的参数列表调用“responseObject”