title: forwardingTarget not called in Swift4
body: <p>I created project for re-usable scroll view, and I stumbled with a problem that it is quite hard for me to figure out.
  <code>forwardingTarget(for aSelector: Selector!)</code> somehow it is never called in the subclass of UIScrollView.
  This is a snippet:</p>
  
  <pre><code>// MARK: Overriding
  
  override open func responds(to aSelector: Selector!) -&gt; Bool {
  
      let respondesToSelector: Bool = super.responds(to: aSelector) ||  _delegate?.responds(to: aSelector) == true
  
      return respondesToSelector
  }
  
  override open func forwardingTarget(for aSelector: Selector!) -&gt; Any? {
      if _delegate?.responds(to: aSelector) == true {
          return _delegate
      }
      else {
          return super.forwardingTarget(for: aSelector)
      }
  }
  </code></pre>
  
  <p>To add... there is another problem - for example <code>scrollViewDidScroll</code> is not caught by <code>responds(to aSelector: Selector!)</code> - in fact almost non of the UIScrollView delegate methods are caught by it. Strangely only 1 method is caught <code>scrollViewWillEndDraggingWithVelocity:targetContentOffset:</code></p>
  
  <p>This project is created as open source. <a href="https://github.com/sumofighter666/ReusableScrollView" rel="nofollow noreferrer">ReusableScrollView</a> </p>
  
  <p>I would appreciate your help and of course contribution.</p>