diff --git a/README.md b/README.md index 6e067bc..5913e5e 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ socket.on("currentAmount") {data, ack in socket.emit("update", ["amount": cur + 2.50]) } - ack?.with("Got your currentAmount", "dude") + ack.with("Got your currentAmount", "dude") } } diff --git a/SocketIOClientSwift/SocketAckEmitter.swift b/SocketIOClientSwift/SocketAckEmitter.swift index 623c852..6303175 100644 --- a/SocketIOClientSwift/SocketAckEmitter.swift +++ b/SocketIOClientSwift/SocketAckEmitter.swift @@ -34,10 +34,14 @@ public final class SocketAckEmitter: NSObject { } public func with(items: AnyObject...) { + guard ackNum != -1 else {return} + socket.emitAck(ackNum, withItems: items) } public func with(items: [AnyObject]) { + guard ackNum != -1 else {return} + socket.emitAck(ackNum, withItems: items) } } diff --git a/SocketIOClientSwift/SocketEventHandler.swift b/SocketIOClientSwift/SocketEventHandler.swift index 9f2ee68..df7d78b 100644 --- a/SocketIOClientSwift/SocketEventHandler.swift +++ b/SocketIOClientSwift/SocketEventHandler.swift @@ -24,16 +24,12 @@ import Foundation -private func emitAckCallback(socket: SocketIOClient, num: Int) -> SocketAckEmitter? { - return num != -1 ? SocketAckEmitter(socket: socket, ackNum: num) : nil -} - struct SocketEventHandler { let event: String let id: NSUUID let callback: NormalCallback - func executeCallback(items: [AnyObject], withAck ack: Int = -1, withSocket socket: SocketIOClient) { - self.callback(items, emitAckCallback(socket, num: ack)) + func executeCallback(items: [AnyObject], withAck ack: Int, withSocket socket: SocketIOClient) { + self.callback(items, SocketAckEmitter(socket: socket, ackNum: ack)) } } diff --git a/SocketIOClientSwift/SocketTypes.swift b/SocketIOClientSwift/SocketTypes.swift index 86bdeee..b8840be 100644 --- a/SocketIOClientSwift/SocketTypes.swift +++ b/SocketIOClientSwift/SocketTypes.swift @@ -25,7 +25,7 @@ import Foundation public typealias AckCallback = ([AnyObject]) -> Void -public typealias NormalCallback = ([AnyObject], SocketAckEmitter?) -> Void +public typealias NormalCallback = ([AnyObject], SocketAckEmitter) -> Void public typealias OnAckCallback = (timeoutAfter: UInt64, callback: AckCallback) -> Void enum Either {