【问题标题】:'ViewController' is not convertible to 'CocoaMQTTDelegate'?'ViewController' 不能转换为 'CocoaMQTTDelegate'?
【发布时间】:2019-08-02 07:26:34
【问题描述】:

我正在尝试使用 CocoaMQTT 建立连接。 GitHub页面上提供了以下示例:

https://github.com/emqx/CocoaMQTT/blob/master/Example/Example/ViewController.swift

他们使用视图控制器“self”作为委托(参见第 53/63/74 行)。但是,当我尝试使用视图控制器作为委托时,我得到了错误:

Cannot assign value of type 'ViewController' to type 'CocoaMQTTDelegate?'

我尝试使用以下方法转换它:

self as! CocoaMQTTDelegate

但没有骰子。

在示例中,他们在 iOS 上使用 ViewController: UIViewController,而我在 macOS 上使用 ViewController: NSViewController,这会导致问题吗?我对 Swift 很陌生,所以任何帮助都将不胜感激。 (它是一个 iOS/macOS/tvOS 库)。

有什么想法吗?

【问题讨论】:

  • 你把这个ViewController: CocoaMQTTDelegate@ 来安慰代表了吗
  • 你是否像他们在第 126 行一样添加了扩展名?
  • @Cutter 这可能是因为您也错过了其他扩展,代码正在扩展 ViewController,进一步引入了“TRACE”,还扩展了“Optional”和 TabBarDelegate。我没试过,但如果你把所有的代码都弄对了,它应该可以工作吗?
  • @Vollan 我的错……它现在可以工作了。我错过了扩展名。像你说的那样添加它后我遇到了错误,因为他们在他们的示例工作区中调用了其他类。

标签: swift xcode macos cocoa mqtt


【解决方案1】:

感谢@Vollan 建议在文件底部添加扩展名。我可能应该注意到这一点。我的错。

【讨论】:

    猜你喜欢
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    • 2023-03-22
    • 2013-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多