【发布时间】:2017-02-24 07:26:08
【问题描述】:
我有一个名为 MQTTController 的类,它带有共享实例和私有 init 方法
class MQTTController:NSObject, CocoaMQTTDelegate {
static let sharedInstance = MQTTController()
var clientID:String
var mqtt:CocoaMQTT
private override init() {
clientID = "xyz-" + String(ProcessInfo().processIdentifier)
mqtt = CocoaMQTT(clientID: clientID, host: "mqttcontroller.mqtt.net", port: 1883)
mqtt.username = "myusername"
mqtt.password = "mypassword"
mqtt.willMessage = CocoaMQTTWill(topic: "/will", message: "dieout")
mqtt.keepAlive = 30
mqtt.cleanSession = true
MQTTController.isConnecting = true
mqtt.delegate = self //Error at this Line "'self' used before super.init call"
mqtt.connect()
}
}
在这里,我知道我可以创建另一个方法来设置委托并调用mqtt.connect(),但我只想知道是否有任何解决方案,我不必创建和调用另一个方法。
【问题讨论】:
标签: ios swift delegates singleton mqtt