Веб-сокет Swift iOS StarScream с множественной обработкой событий

#ios #swift #websocket #closures #starscream

Вопрос:

Я использую StarScream в своем проекте для обработки веб-сокетов.

Моя идея состояла в том, чтобы создать базовый класс для обработки всех событий синтаксического анализа и прослушивания входящих событий.

 BaseClass {  let socket: WebSocket()  init() {  self.socket = WebSocket(someRequest)  }    public func listenToEvents() {  self.socket.onEvent = { event in....  switch event {  case text(let text) {  //Send some closure to child class.  }  }  } }  ChildClass: BaseClass {  public func listenToEvent(success: @escaping (MyClosure) -gt; ()) {  self.listenToEvent {  //Some closure to view controller with Coddle model.  success(returndCodableModel)  }  } }  

Теперь я хочу создать дочерние классы этого базового класса, и каждый ребенок будет вызывать прослушивание событий и возвращать свою собственную модель няньки в зависимости от полученных данных.

Обратите внимание, что у меня есть только один экземпляр самого WebSocket, хранящийся в одном элементе.

Проблема в том, что когда я вызываю дочерний класс каждый раз, когда я говорю дочернему классу записать в сокет, вызывается только закрытие из последнего события, которое я отправил.

Как мне добиться такого желаемого поведения с помощью StarScream?

Спасибо за помощь.