title: How to convert Delegate to Observable RxSwift?
body: <p>I have delegate methods, which I need to wrap by Delegate Proxy in RxSwift. I have done it using Bond and Reactive, but here, in RxSwift, I am not able to find the proper way to convert it. </p>
  
  <p>Follow is Protocols</p>
  
  <pre><code>    import UIKit
  
  /**
   A protocol for the delegate of a `DetailInputTextField`.
   */
  
      @objc
      public protocol CardInfoTextFieldDelegate {
  
          /**
           Called whenever valid information was entered into `textField`.
  
           - parameter textField:         The text field whose information was updated and is valid.
           - parameter didEnterValidInfo: The valid information that was entered into `textField`.
           */
          func textField(_ textField: UITextField, didEnterValidInfo: String)
  
          /**
           Called whenever partially valid information was entered into `textField`.
  
           - parameter textField:                  The text field whose information was updated and is partially valid.
           - parameter didEnterPartiallyValidInfo: The partially valid information that was entered.
           */
          func textField(_ textField: UITextField, didEnterPartiallyValidInfo: String)
  
          /**
           Called whenever more text was entered into `textField` than necessary. This can be used to provide this overflow as text in the next text field in the responder chain.
  
           - parameter textField:      The text field which received more information than required.
           - parameter overFlowDigits: The overflow of text which does not fit into `textField` and might be entered into the next receiver in the responder chain.
           */
          func textField(_ textField: UITextField, didEnterOverflowInfo overFlowDigits: String)
      }
  </code></pre>
  
  <p>What I did earlier is </p>
  
  <pre><code>import Foundation
  import Bond
  import Caishen
  
  
  extension DetailInputTextField {
      var bnd_cardInfoDelegate: ProtocolProxy {
          return protocolProxy(for: CardInfoTextFieldDelegate.self, setter: NSSelectorFromString("setCardInfoTextFieldDelegate:"))
      }
  
      var bnd_didEnterValidInfo: StreamSignal&lt;NSString&gt; {
          return bnd_cardInfoDelegate.signal(for: #selector(CardInfoTextFieldDelegate.textField(_:didEnterValidInfo:)))
          { (s: PublishSignal&lt;NSString&gt;, _: UITextField, info: NSString) in
              s.next(info)
          }
      }
  
      var bnd_didEnterPartiallyValidInfo: StreamSignal&lt;NSString&gt; {
          return bnd_cardInfoDelegate.signal(for: #selector(CardInfoTextFieldDelegate.textField(_:didEnterPartiallyValidInfo:)))
          { (s: PublishSignal&lt;NSString&gt;, _: UITextField, info: NSString) in
              s.next(info)
          }
      }
  
      var bnd_didEnterOverflowInfo: StreamSignal&lt;NSString&gt; {
          return bnd_cardInfoDelegate.signal(for: #selector(CardInfoTextFieldDelegate.textField(_:didEnterOverflowInfo:)))
          { (s: PublishSignal&lt;NSString&gt;, _: UITextField, info: NSString) in
              s.next(info)
          }
      }
  }
  </code></pre>
  
  <p>How can I do same exercise in RxSwift.
  I tried DelegateProxy but its unclear how it properly wrap it.</p>