如何解决将每个向量成员的信号连接到一个插槽
我在我的班级 X 中有一个 QVector 定义如下:
static let shared = SocketHelper()
private let manager = SocketManager(
socketURL: URL(string: kHost)!,config: [.forceNew(true)]
)
private var socket: SocketIOClient!
var isConnected: Bool = false
private override init() {
super.init()
socket = manager.defaultSocket
socket.on(clientEvent: .connect,callback: { data,ack in
print("SocketManager: connected")
self.isConnected = true
self.sendNotification(event: "CONNECTED")
})
socket.on(clientEvent: .disconnect,ack in
print("SocketManager: disconnected")
self.isConnected = false
self.sendNotification(event: "DISCONNECTED")
})
socket?.on("receiveMessage") { (data,ack) in
guard let dataInfo = data.first else {
return
}
}
}
private func sendNotification(event: String) {
NotificationCenter.default.post(name: NSNotification.Name(event),object: nil)
}
func connect() {
if !isConnected {
socket.connect()
}
}
func disconnect() {
if isConnected {
socket.disconnect()
}
}
func sendMessage() {
if isConnected {
let user_id = Utility.getDataFromdefault(str_key: k_user_id)
var dci: [AnyHashable : Any] = [:]
dci["message"] = "test 123"
dci["message_type"] = "Text"
socket.emit("sendMessage",dci)
}
}
在我的课 PO 中,我发出以下信号:QVector<PO*> * p_obs;
我想在 X 类中将 p_obs 成员发出的信号连接到一个插槽。 我试图用 for 循环连接:
ts_update(QString val)
但我收到以下错误:
for (int i = 0 ; i < p_obs->size();i++)
{
connect(p_obs->at(i),SIGNAL(ts_update(QString)),this,SLOT(ts_newVal(QString)));
}
我尝试了很多其他方法,但仍然遇到相同类型的错误......而且我在网上没有找到任何相关的解决方案。
我做错了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。