将每个向量成员的信号连接到一个插槽

问题描述

我在我的班级 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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...