This commit is contained in:
parent
232c22789a
commit
8ff8c88a48
10
README.md
10
README.md
@ -81,15 +81,19 @@ socket.on("jsonTest") {data in
|
|||||||
// Messages that have multiple items are passed
|
// Messages that have multiple items are passed
|
||||||
// by an array
|
// by an array
|
||||||
socket.onMultipleItems("multipleItems") {data in
|
socket.onMultipleItems("multipleItems") {data in
|
||||||
if let str = data[0] as? String {
|
if data == nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if let str = data![0] as? String {
|
||||||
println(str)
|
println(str)
|
||||||
}
|
}
|
||||||
|
|
||||||
if let arr = data[1] as? [Int] {
|
if let arr = data![1] as? [Int] {
|
||||||
println(arr)
|
println(arr)
|
||||||
}
|
}
|
||||||
|
|
||||||
if let obj = data[4] as? NSDictionary {
|
if let obj = data![4] as? NSDictionary {
|
||||||
println(obj["test"])
|
println(obj["test"])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -24,8 +24,8 @@
|
|||||||
|
|
||||||
class SocketEventHandler {
|
class SocketEventHandler {
|
||||||
let event:String!
|
let event:String!
|
||||||
let callback:NormalCallback!
|
let callback:NormalCallback?
|
||||||
let callbackMult:MultipleCallback!
|
let callbackMult:MultipleCallback?
|
||||||
|
|
||||||
init(event:String, callback:NormalCallback) {
|
init(event:String, callback:NormalCallback) {
|
||||||
self.event = event
|
self.event = event
|
||||||
@ -37,11 +37,19 @@ class SocketEventHandler {
|
|||||||
self.callbackMult = callback
|
self.callbackMult = callback
|
||||||
}
|
}
|
||||||
|
|
||||||
func executeCallback(item:AnyObject?) {
|
func executeCallback(item:AnyObject?, multiple:Bool) {
|
||||||
callback(item)
|
if callback == nil || multiple {
|
||||||
}
|
if item != nil && item is NSArray {
|
||||||
|
callbackMult?(item as? NSArray)
|
||||||
func executeCallback(items:[AnyObject]) {
|
} else {
|
||||||
callbackMult(items)
|
if item != nil {
|
||||||
|
callbackMult?([item!])
|
||||||
|
} else {
|
||||||
|
callbackMult?(nil)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
callback?(item)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -25,7 +25,7 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
typealias NormalCallback = (AnyObject?) -> Void
|
typealias NormalCallback = (AnyObject?) -> Void
|
||||||
typealias MultipleCallback = (AnyObject...) -> Void
|
typealias MultipleCallback = (NSArray?) -> Void
|
||||||
|
|
||||||
class SocketIOClient: NSObject, SRWebSocketDelegate {
|
class SocketIOClient: NSObject, SRWebSocketDelegate {
|
||||||
let socketURL:String!
|
let socketURL:String!
|
||||||
@ -188,12 +188,8 @@ class SocketIOClient: NSObject, SRWebSocketDelegate {
|
|||||||
// println("Should do event: \(event) with data: \(data)")
|
// println("Should do event: \(event) with data: \(data)")
|
||||||
|
|
||||||
for handler in self.handlers {
|
for handler in self.handlers {
|
||||||
if handler.event == event && !multipleItems {
|
if handler.event == event {
|
||||||
handler.executeCallback(data)
|
handler.executeCallback(data, multiple: multipleItems)
|
||||||
} else if handler.event == event && multipleItems {
|
|
||||||
if let arr = data as? [AnyObject] {
|
|
||||||
handler.executeCallback(arr)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user