Fix "Variable 'handler' captured by a closure before being initialized" error

This commit is contained in:
Kevin Jose Martin 2015-09-17 22:06:12 -04:00
parent aaaf9dc451
commit a9b4193fe4

View File

@ -430,14 +430,14 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
public func once(event: String, callback: NormalCallback) { public func once(event: String, callback: NormalCallback) {
Logger.log("Adding once handler for event: %@", type: logType, args: event) Logger.log("Adding once handler for event: %@", type: logType, args: event)
var handler: SocketEventHandler; var handler: SocketEventHandler?;
handler = SocketEventHandler(event: event) { (data, ack: AckEmitter?) in handler = SocketEventHandler(event: event) { (data, ack: AckEmitter?) in
self.handlers = ContiguousArray(self.handlers.filter { $0.id != handler.id }) self.handlers = ContiguousArray(self.handlers.filter { $0.id != handler!.id })
callback(data, ack) callback(data, ack)
} }
handlers.append(handler) handlers.append(handler!)
} }
/** /**
@ -446,14 +446,14 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
public func once(event event: String, callback: NormalCallbackObjectiveC) { public func once(event event: String, callback: NormalCallbackObjectiveC) {
Logger.log("Adding once handler for event: %@", type: logType, args: event) Logger.log("Adding once handler for event: %@", type: logType, args: event)
var handler: SocketEventHandler; var handler: SocketEventHandler?;
handler = SocketEventHandler(event: event) { (data, ack: AckEmitterObjectiveC?) in handler = SocketEventHandler(event: event) { (data, ack: AckEmitterObjectiveC?) in
self.handlers = ContiguousArray(self.handlers.filter { $0.id != handler.id }) self.handlers = ContiguousArray(self.handlers.filter { $0.id != handler!.id })
callback(data, ack) callback(data, ack)
} }
handlers.append(handler) handlers.append(handler!)
} }
/** /**