2016-09-25 77 views
0

从雨燕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

我非常感谢有关如何解决此问题的任何帮助,谢谢。

+0

它是xml还是html? –

+0

用您试图调用的方法(导致错误的方法)更新您的问题。 – rmaddy

+0

刚做过。谢谢。 – Leviathan

回答

1

参数声明中的_意味着该参数没有参数标签,因此您在调用方法时不会为参数添加标签。

你的代码应该是:

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版本基本相同。

相关问题