【发布时间】: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