由于异步

时间:2017-06-09 18:48:59

标签: ios swift xcode swift3 viewcontroller

我正在使用CocoaMQTT来连接和发布事件。要发布,重要的是我连接到MQTT。但是连接是异步的,因此是发布。我希望它是顺序的,首先它应该连接然后连接然后发布,例如,如果连接发生在5分钟之后,那么发布应该发生在那之后。

https://github.com/emqtt/CocoaMQTT

我该怎么做?

这是我的代码:

class ViewController: UIViewController {
var iot: MQTTDelegate!

@IBAction func click(_ sender: Any) {
    self.iot = IoT(
                withClientId: "clientId",
                host: "host",
                port: 1883
            )

    iot.connect(username: "username", password: "token")

    iot.publish(topic: "hello", message: "")
}
}

如果我将连接移动到一个单独的按钮,那么它首先工作我单击连接按钮,然后单击“单击”按钮使其顺序。如何使上述代码顺序完成?

我使用PromiseKit来宣传代码,但我不知道要连接到底是什么。

1 个答案:

答案 0 :(得分:0)

您可以使用didconnect(在代理中指定)然后发布您的消息。