@@ -34,7 +34,7 @@ open class PusherChannel: NSObject {
34
34
open var eventHandlers : [ String : [ EventHandler ] ] = [ : ]
35
35
open var subscribed = false
36
36
open let name : String
37
- open let connection : PusherConnection
37
+ open weak var connection : PusherConnection ?
38
38
open var unsentEvents = [ PusherEvent] ( )
39
39
open let type : PusherChannelType
40
40
@@ -110,10 +110,10 @@ open class PusherChannel: NSObject {
110
110
*/
111
111
open func handleEvent( name: String , data: String ) {
112
112
if let eventHandlerArray = self . eventHandlers [ name] {
113
- let jsonize = connection. options. attemptToReturnJSONObject
113
+ let jsonize = connection? . options. attemptToReturnJSONObject ?? false
114
114
115
115
for eventHandler in eventHandlerArray {
116
- eventHandler. callback ( jsonize ? connection. getEventDataJSON ( from: data) : data)
116
+ eventHandler. callback ( jsonize ? connection? . getEventDataJSON ( from: data) : data)
117
117
}
118
118
}
119
119
}
@@ -127,7 +127,7 @@ open class PusherChannel: NSObject {
127
127
*/
128
128
open func trigger( eventName: String , data: Any ) {
129
129
if subscribed {
130
- self . connection. sendEvent ( event: eventName, data: data, channel: self )
130
+ connection? . sendEvent ( event: eventName, data: data, channel: self )
131
131
} else {
132
132
unsentEvents. insert ( PusherEvent ( name: eventName, data: data) , at: 0 )
133
133
}
0 commit comments