Swift3 参数标签';(xml:,url:,编码:,选项:)和#x27;不匹配任何可用的重载
从Swift 2.2到Swift 3,现在我陷入了代码的这一部分:Swift3 参数标签';(xml:,url:,编码:,选项:)和#x27;不匹配任何可用的重载,swift3,Swift3,从Swift 2.2到Swift 3,现在我陷入了代码的这一部分: public func HTML(_ html: String, url: String?, encoding: String.Encoding, option: ParseOption = kDefaultHtmlParseOption) -> HTMLDocument? { switch option { case .htmlParseUseLibxml(let opt): return
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行出现错误,说明:
参数标签(html:,url:,编码:,选项:)与任何
可用重载
这是类似问题的另一个例子:
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
}
错误:
参数标签(xml:,url:,编码:,选项:)与任何
可用重载
非常感谢您对如何解决此问题的任何帮助。参数声明中的
\
意味着参数没有参数标签,因此在调用方法时不需要为参数添加标签
您的代码应该是:
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版本基本相同。参数声明中的
\u
意味着参数没有参数标签,因此在调用方法时不为参数添加标签
您的代码应该是:
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?用您试图调用的方法(导致错误的方法)更新您的问题。就这么做了。谢谢。是xml还是html?用您试图调用的方法(导致错误的方法)更新您的问题。就这么做了。非常感谢。