【问题标题】:Argument labels '(xml:, url:, encoding:, option:)' do not match any available overloads参数标签 '(xml:, url:, encoding:, option:)' 不匹配任何可用的重载
【发布时间】:2016-09-25 00:05:15
【问题描述】:

从 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 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:, encoding:, option:)' 不匹配任何 可用的重载

这是类似问题的另一个实例:

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:, encoding:, option:)' 不匹配任何 可用的重载

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

【问题讨论】:

  • 是xml还是html?
  • 用您尝试调用的方法(导致错误的方法)更新您的问题。
  • 刚刚做了。谢谢。

标签: swift3


【解决方案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版本基本一致。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-12
    • 2016-12-16
    • 2018-04-02
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多