Преобразование Swift-преобразователя / прослушивателя / делегата в закрытие (обработчик завершения)

#swift

#быстрый

Вопрос:

Я новичок в свифте.

Существует класс, в котором в качестве аргумента используется протокол

 instance.add(listener: self) instance.command()  
 extension Main: ListenerProtocol {  func onComplete() {}  func onError() {}  func onProgress() {}    func command() {  onProgess()  onComplete() | onError()  } }  

Я хотел бы вместо этого использовать

 instance.command { returnValue in   // call another completion handler in out method }  
  1. Одна попытка, я просто создал другой класс и заставил его соответствовать протоколу прослушивателя, у которого был делегат, который перезвонил.
  2. Использовал библиотеку combine для выполнения в сочетании с #1

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

Комментарии:

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