如何在多个视图控制器上使用套接字? swift-socket.io
How do I use a socket on multiple viewcontrollers? swift-socket.io
我想创建 1 个连接并在多个视图控制器上使用它而不创建新连接
这是我的连接代码:
let manager = SocketManager(socketURL: URL(string: "https://mr-fast.liara.run")!, config: [.log(true), .compress])
var socket : SocketIOClient!
socket = manager.defaultSocket
socket.connect()
您可以为此使用单例模式:
class SocketHandler {
private init(){}
static let shared = SocketHandler()
private let manager = SocketManager(socketURL: URL(string: "https://mr-fast.liara.run")!, config: [.log(true), .compress])
private(set) lazy var socket = manager.defaultSocket
}
现在您可以从任何地方访问它,例如:
SocketHandler.shared.socket.connect()
请注意,这只是一个示例,您可能希望使用不同的名称或使用初始化程序为变量赋值。
我想创建 1 个连接并在多个视图控制器上使用它而不创建新连接
这是我的连接代码:
let manager = SocketManager(socketURL: URL(string: "https://mr-fast.liara.run")!, config: [.log(true), .compress])
var socket : SocketIOClient!
socket = manager.defaultSocket
socket.connect()
您可以为此使用单例模式:
class SocketHandler {
private init(){}
static let shared = SocketHandler()
private let manager = SocketManager(socketURL: URL(string: "https://mr-fast.liara.run")!, config: [.log(true), .compress])
private(set) lazy var socket = manager.defaultSocket
}
现在您可以从任何地方访问它,例如:
SocketHandler.shared.socket.connect()
请注意,这只是一个示例,您可能希望使用不同的名称或使用初始化程序为变量赋值。