Tweak multipleitems. I still don't know if I like this

This commit is contained in:
Erik 2015-02-03 11:21:03 -05:00
parent 8ff8c88a48
commit 115edb1456
2 changed files with 14 additions and 10 deletions

View File

@ -26,6 +26,7 @@ class SocketEventHandler {
let event:String!
let callback:NormalCallback?
let callbackMult:MultipleCallback?
var multiEvent = false
init(event:String, callback:NormalCallback) {
self.event = event
@ -35,18 +36,17 @@ class SocketEventHandler {
init(event:String, callback:MultipleCallback) {
self.event = event
self.callbackMult = callback
self.multiEvent = true
}
func executeCallback(item:AnyObject?, multiple:Bool) {
if callback == nil || multiple {
if item != nil && item is NSArray {
callbackMult?(item as? NSArray)
func executeCallback(item:AnyObject?, items:NSArray? = nil) {
if self.multiEvent {
if items != nil {
callbackMult?(items)
} else if item != nil {
callbackMult?([item!])
} else {
if item != nil {
callbackMult?([item!])
} else {
callbackMult?(nil)
}
callbackMult?(nil)
}
} else {
callback?(item)

View File

@ -189,7 +189,11 @@ class SocketIOClient: NSObject, SRWebSocketDelegate {
for handler in self.handlers {
if handler.event == event {
handler.executeCallback(data, multiple: multipleItems)
if data is NSArray {
handler.executeCallback(nil, items: (data as NSArray))
} else {
handler.executeCallback(data)
}
}
}
}