【问题标题】:Argument labels (_:) do not match any available overloads参数标签 (_:) 不匹配任何可用的重载
【发布时间】:2017-08-12 22:59:26
【问题描述】:

我想使用 XMPP 框架并从 github 下载 lib。下面给出的代码给出了一个错误。有人可以帮助我吗,我正在从以下链接获取指南: XMPP FRamwork lib

stream?.myJID = XMPPJID.init("user@localhost.com")

更新:

【问题讨论】:

    标签: ios swift3 xmppframework


    【解决方案1】:

    您给出的link 是使用类方法而不是init 来设置XMPPJID。

    stream?.myJID = XMPPJID.jid(with:"user@localhost")
    

    【讨论】:

    • 该类在 xocode 中不可用,它会提示错误,如果您在该论坛上看到建议的答案,一些机构建议使用 init()。并检查更新的 XMPP 建议。
    • 兄弟.jid 不可用。我在更新的段落中显示了建议的列表。
    • 你能帮我一个忙吗?我无法理解。你能详细说明一下还是一段代码。
    • @MuhammadHaroon 你试过写XMPPJID.jidWithString("user@localhost") 吗?
    • 是的。 xcode 说:jidWithString 被替换为“WithString”。当我修复该问题时,它说:withString 不可用使用对象构造 XMPPJID(字符串:)
    【解决方案2】:

    使用

    stream?.myJID = XMPPJID.jid(with:"user@localhost")
    

    而不是你图片中的那条线:

    stream?.myJID = XMPPJID.("user@localhost")
    

    【讨论】:

    • 它不工作并给出错误。阅读上面与 Nirav D 的对话
    • 好吧,现在你得到了答案。您应该更具体地说明您遇到的错误。
    【解决方案3】:

    RightClickXMPPJID 和Jump to Definition,你会看到类似:

    公共初始化!(字符串jidStr:字符串!)

    public init!(string jidStr: String!, resource: String!)

    公共初始化!(用户:字符串!,域:字符串!,资源:字符串!)

    因此您可以使用以下方法初始化 jid:

    • stream?.myJID = XMPPJID(string: "user@localhost")
    • 流?.myJID = XMPPJID(string: "user@localhost", resource: "blabla")
    • 流?.myJID = XMPPJID(用户:“用户”,域:“本地主机”,资源:“blabla”)

    【讨论】:

    • 如果您解释的答案不仅仅是没有 cmets 的代码块,那将会很有帮助。
    猜你喜欢
    • 2016-12-16
    • 2018-04-02
    • 2017-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多