Swift3 如何为WebSocket(红蜘蛛)创建单例?
我正在尝试创建一个具有WebSocket功能的单例,但我不知道为什么它不起作用 这是我的单例扩展:Swift3 如何为WebSocket(红蜘蛛)创建单例?,swift3,websocket,singleton,starscream,Swift3,Websocket,Singleton,Starscream,我正在尝试创建一个具有WebSocket功能的单例,但我不知道为什么它不起作用 这是我的单例扩展: import Starscream extension WebSocketManager: WebSocketDelegate { func websocketDidConnect(socket: WebSocket) { print("websocket is connected") } func websocketDidDisconnect(socket: WebSocket, e
import Starscream
extension WebSocketManager: WebSocketDelegate {
func websocketDidConnect(socket: WebSocket) {
print("websocket is connected")
}
func websocketDidDisconnect(socket: WebSocket, error: NSError?) {
if let e = error {
print("websocket is disconnected: \(e.localizedDescription)")
} else {
print("websocket disconnected")
}
}
func websocketDidReceiveMessage(socket: WebSocket, text: String) {
print("Received text: \(text)")
}
func websocketDidReceiveData(socket: WebSocket, data: Data) {
print("Received data: \(data.count)")
}}
我的单身汉:
final class WebSocketManager: NSObject {
static let sharedInstance = WebSocketManager()
public var socket = WebSocket(url: URL(string: "ws://t-w-a.herokuapp.com/new")!)
private override init() {
super.init()
// testing connection of the socket
}
func establishConnection() {
socket.connect()
}
func closeConnection() {
socket.disconnect()
}}
当我试图连接服务器时,什么也没发生。
这是我的控制器:
class ChatViewController: UIViewController {
@IBOutlet weak var typeText: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
WebSocketManager.sharedInstance.establishConnection()
}}
我发现了这个问题,我只是忘了给委托分配socket变量我只想花点时间说声谢谢你找到了答案并更新了这个问题。