From ac31b4a788ed6d8afda443c450626994ecb4b65a Mon Sep 17 00:00:00 2001 From: Erik Date: Tue, 17 Mar 2015 12:12:30 -0400 Subject: [PATCH] hopefully fix nuclearace/Socket.IO-Client-Swift#27 --- SwiftIO/SocketIOClient.swift | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/SwiftIO/SocketIOClient.swift b/SwiftIO/SocketIOClient.swift index b9dc716..27afb7d 100644 --- a/SwiftIO/SocketIOClient.swift +++ b/SwiftIO/SocketIOClient.swift @@ -206,8 +206,8 @@ public class SocketIOClient: NSObject { ackNum: self.currentAck, socket: self) self.ackHandlers.append(ackHandler) - dispatch_async(self.emitQueue) {[weak self] in - self?._emit(event, args, ack: true) + dispatch_async(self.emitQueue) {[weak self, ack = self.currentAck] in + self?._emit(event, args, ack: ack) return } @@ -218,7 +218,7 @@ public class SocketIOClient: NSObject { return self.emitWithAck(event, args) } - private func _emit(event:String, _ args:[AnyObject], ack:Bool = false) { + private func _emit(event:String, _ args:[AnyObject], ack:Int? = nil) { var frame:SocketEvent var str:String @@ -229,22 +229,22 @@ public class SocketIOClient: NSObject { } if hasBinary { - if !ack { + if ack == nil { str = SocketEvent.createMessageForEvent(event, withArgs: items, hasBinary: true, withDatas: emitDatas.count, toNamespace: self.nsp) } else { str = SocketEvent.createMessageForEvent(event, withArgs: items, - hasBinary: true, withDatas: emitDatas.count, toNamespace: self.nsp, wantsAck: self.currentAck) + hasBinary: true, withDatas: emitDatas.count, toNamespace: self.nsp, wantsAck: ack) } self.engine?.send(str, datas: emitDatas) } else { - if !ack { + if ack == nil { str = SocketEvent.createMessageForEvent(event, withArgs: items, hasBinary: false, withDatas: 0, toNamespace: self.nsp) } else { str = SocketEvent.createMessageForEvent(event, withArgs: items, hasBinary: false, - withDatas: 0, toNamespace: self.nsp, wantsAck: self.currentAck) + withDatas: 0, toNamespace: self.nsp, wantsAck: ack) } self.engine?.send(str)