@@ -195,21 +195,19 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
195
195
196
196
private func createOnAck( event: String , items: [ AnyObject ] ) -> OnAckCallback {
197
197
return { [ weak self, ack = ++ self . currentAck] timeout, callback in
198
- if self == nil {
199
- return
200
- }
201
-
202
- self ? . ackHandlers. addAck ( ack, callback: callback)
203
-
204
- dispatch_async ( self !. emitQueue) {
205
- self ? . _emit ( event, items, ack: ack)
206
- }
207
-
208
- if timeout != 0 {
209
- let time = dispatch_time ( DISPATCH_TIME_NOW, Int64 ( timeout * NSEC_PER_SEC) )
198
+ if let this = self {
199
+ this. ackHandlers. addAck ( ack, callback: callback)
210
200
211
- dispatch_after ( time, dispatch_get_main_queue ( ) ) {
212
- self ? . ackHandlers. timeoutAck ( ack)
201
+ dispatch_async ( this. emitQueue) { [ weak this] in
202
+ this? . _emit ( event, items, ack: ack)
203
+ }
204
+
205
+ if timeout != 0 {
206
+ let time = dispatch_time ( DISPATCH_TIME_NOW, Int64 ( timeout * NSEC_PER_SEC) )
207
+
208
+ dispatch_after ( time, dispatch_get_main_queue ( ) ) { [ weak this] in
209
+ this? . ackHandlers. timeoutAck ( ack)
210
+ }
213
211
}
214
212
}
215
213
}
@@ -337,22 +335,21 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
337
335
// If the server wants to know that the client received data
338
336
func emitAck( ack: Int , withData args: [ AnyObject ] ) {
339
337
dispatch_async ( self . emitQueue) { [ weak self] in
340
- if self == nil || !self !. connected {
341
- return
342
- }
343
-
344
- let packet = SocketPacket ( type: nil , data: args, nsp: self !. nsp, id: ack)
345
- let str : String
346
-
347
- SocketParser . parseForEmit ( packet)
348
- str = packet. createAck ( )
349
-
350
- SocketLogger . log ( " Emitting Ack: \( str) " , client: self !)
351
-
352
- if packet. type == SocketPacket . PacketType. BINARY_ACK {
353
- self ? . engine? . send ( str, withData: packet. binary)
354
- } else {
355
- self ? . engine? . send ( str, withData: nil )
338
+ if let this = self where this. connected {
339
+ let packet = SocketPacket ( type: nil , data: args, nsp: this. nsp, id: ack)
340
+ let str : String
341
+
342
+ SocketParser . parseForEmit ( packet)
343
+ str = packet. createAck ( )
344
+
345
+ SocketLogger . log ( " Emitting Ack: \( str) " , client: this)
346
+
347
+ if packet. type == SocketPacket . PacketType. BINARY_ACK {
348
+ this. engine? . send ( str, withData: packet. binary)
349
+ } else {
350
+ this. engine? . send ( str, withData: nil )
351
+ }
352
+
356
353
}
357
354
}
358
355
}
@@ -484,12 +481,10 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
484
481
self . _reconnecting = true
485
482
486
483
dispatch_async ( dispatch_get_main_queue ( ) ) { [ weak self] in
487
- if self == nil {
488
- return
484
+ if let this = self {
485
+ this. reconnectTimer = NSTimer . scheduledTimerWithTimeInterval ( Double ( this. reconnectWait) ,
486
+ target: this, selector: " tryReconnect " , userInfo: nil , repeats: true )
489
487
}
490
-
491
- self ? . reconnectTimer = NSTimer . scheduledTimerWithTimeInterval ( Double ( self !. reconnectWait) ,
492
- target: self !, selector: " tryReconnect " , userInfo: nil , repeats: true )
493
488
}
494
489
}
495
490
0 commit comments