diff --git a/SocketIOClientSwift/WebSocket.swift b/SocketIOClientSwift/WebSocket.swift index 1bc87f7..af05abb 100644 --- a/SocketIOClientSwift/WebSocket.swift +++ b/SocketIOClientSwift/WebSocket.swift @@ -135,16 +135,20 @@ public class WebSocket : NSObject, NSStreamDelegate { } dispatch_async(queue, { [weak self] in - if let weakSelf = self { - weakSelf.didDisconnect = false + guard let weakSelf = self else { + return } + + weakSelf.didDisconnect = false }) dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), { [weak self] in - if let weakSelf = self { - weakSelf.isCreated = true - weakSelf.createHTTPRequest() - weakSelf.isCreated = false + guard let weakSelf = self else { + return } + + weakSelf.isCreated = true + weakSelf.createHTTPRequest() + weakSelf.isCreated = false }) } @@ -375,13 +379,15 @@ public class WebSocket : NSObject, NSStreamDelegate { if totalSize > 0 { if validateResponse(buffer, bufferLen: totalSize) { dispatch_async(queue, { [weak self] in - if let weakSelf = self { - weakSelf.connected = true - if let connectBlock = weakSelf.onConnect { - connectBlock() - } - weakSelf.delegate?.websocketDidConnect(weakSelf) + guard let weakSelf = self else { + return } + + weakSelf.connected = true + if let connectBlock = weakSelf.onConnect { + connectBlock() + } + weakSelf.delegate?.websocketDidConnect(weakSelf) }) totalSize += 1 //skip the last \n let restSize = bufferLen - totalSize @@ -520,12 +526,14 @@ public class WebSocket : NSObject, NSStreamDelegate { } if receivedOpcode == OpCode.Pong.rawValue { dispatch_async(queue, { [weak self] in - if let weakSelf = self { - if let pongBlock = weakSelf.onPong { - pongBlock() - } - weakSelf.pongDelegate?.websocketDidReceivePong(weakSelf) + guard let weakSelf = self else { + return } + + if let pongBlock = weakSelf.onPong { + pongBlock() + } + weakSelf.pongDelegate?.websocketDidReceivePong(weakSelf) }) let step = Int(offset+numericCast(len)) @@ -615,22 +623,26 @@ public class WebSocket : NSObject, NSStreamDelegate { return false } dispatch_async(queue, { [weak self] in - if let weakSelf = self { - if let textBlock = weakSelf.onText { - textBlock(str! as String) - } - weakSelf.delegate?.websocketDidReceiveMessage(weakSelf, text: str! as String) + guard let weakSelf = self else { + return } + + if let textBlock = weakSelf.onText { + textBlock(str! as String) + } + weakSelf.delegate?.websocketDidReceiveMessage(weakSelf, text: str! as String) }) } else if response.code == .BinaryFrame { let data = response.buffer! //local copy so it is perverse for writing dispatch_async(queue, { [weak self] in - if let weakSelf = self { - if let dataBlock = weakSelf.onData { - dataBlock(data) - } - weakSelf.delegate?.websocketDidReceiveData(weakSelf, data: data) + guard let weakSelf = self else { + return } + + if let dataBlock = weakSelf.onData { + dataBlock(data) + } + weakSelf.delegate?.websocketDidReceiveData(weakSelf, data: data) }) } readStack.removeLast() @@ -734,13 +746,15 @@ public class WebSocket : NSObject, NSStreamDelegate { private func doDisconnect(error: NSError?) { if !self.didDisconnect { dispatch_async(queue, { [weak self] in - if let weakSelf = self { - weakSelf.didDisconnect = true - if let disconnect = weakSelf.onDisconnect { - disconnect(error) - } - weakSelf.delegate?.websocketDidDisconnect(weakSelf, error: error) + guard let weakSelf = self else { + return } + + weakSelf.didDisconnect = true + if let disconnect = weakSelf.onDisconnect { + disconnect(error) + } + weakSelf.delegate?.websocketDidDisconnect(weakSelf, error: error) }) } }