参数标签“(XML:,网址:,编码:,选项:)”不匹配任何可用的重载
问题描述:
从雨燕2.2跑到雨燕3,现在我已经得到停留在我的这部分代码:参数标签“(XML:,网址:,编码:,选项:)”不匹配任何可用的重载
public func HTML(_ html: String, url: String?, encoding: String.Encoding, option: ParseOption = kDefaultHtmlParseOption) -> HTMLDocument? {
switch option {
case .htmlParseUseLibxml(let opt):
return libxmlHTMLDocument(html: html, url: url, encoding: encoding, option: opt.rawValue)
default:
return nil
}
}
public func HTML(_ html: String, encoding: String.Encoding, option: ParseOption = kDefaultHtmlParseOption) -> HTMLDocument? {
return HTML(html: html, url: nil, encoding: encoding, option: option)
}
我哪里有第2行中出现一个错误,说明各种情况:
Argument labels '(html:, url:, encoding:, option:)' do not match any available overloads
这是一个类似问题的另一个实例:
public func XML(_ xml: String, url: String?, encoding: String.Encoding, option: ParseOption = kDefaultXmlParseOption) -> XMLDocument? {
switch option {
case .xmlParseUseLibxml(let opt):
return libxmlXMLDocument(xml: xml, url: url, encoding: encoding, option: opt.rawValue)
default:
return nil
}
}
public func XML(_ url: URL, encoding: String.Encoding, option: ParseOption = kDefaultXmlParseOption) -> XMLDocument? {
if let data = try? Data(contentsOf: url) {
return XML(xml: data, url: url.absoluteString, encoding: encoding, option: option)
}
return nil
}
错误:
Argument labels '(xml:, url:, encoding:, option:)' do not match any available overloads
我非常感谢有关如何解决此问题的任何帮助,谢谢。
答
参数声明中的_
意味着该参数没有参数标签,因此您在调用方法时不会为参数添加标签。
你的代码应该是:
public func HTML(_ html: String, url: String?, encoding: String.Encoding, option: ParseOption = kDefaultHtmlParseOption) -> HTMLDocument? {
switch option {
case .htmlParseUseLibxml(let opt):
return libxmlHTMLDocument(html: html, url: url, encoding: encoding, option: opt.rawValue)
default:
return nil
}
}
public func HTML(_ html: String, encoding: String.Encoding, option: ParseOption = kDefaultHtmlParseOption) -> HTMLDocument? {
// Change the line below:
return HTML(html, url: nil, encoding: encoding, option: option)
}
XML版本基本相同。
它是xml还是html? –
用您试图调用的方法(导致错误的方法)更新您的问题。 – rmaddy
刚做过。谢谢。 – Leviathan