Skip to content

Instantly share code, notes, and snippets.

@EzimetYusup
Last active October 13, 2016 13:46
Show Gist options
  • Save EzimetYusup/14ec3090dd754d2159e08b13f02ca10a to your computer and use it in GitHub Desktop.
Save EzimetYusup/14ec3090dd754d2159e08b13f02ca10a to your computer and use it in GitHub Desktop.
split one delegate to two in swift
import UIKit
import ObjectiveC
class ViewController: UICollectionViewController {
let scrollViewDelegate = MyScrollViewDelegate()
override func respondsToSelector(aSelector: Selector) -> Bool {
if protocol_getMethodDescription(UIScrollViewDelegate.self, aSelector, false, true).types != nil || protocol_getMethodDescription(UIScrollViewDelegate.self, aSelector, true, true).types != nil {
return scrollViewDelegate.respondsToSelector(aSelector)
} else {
return super.respondsToSelector(aSelector)
}
}
override func forwardingTargetForSelector(aSelector: Selector) -> AnyObject? {
if protocol_getMethodDescription(UIScrollViewDelegate.self, aSelector, false, true).types != nil || protocol_getMethodDescription(UIScrollViewDelegate.self, aSelector, true, true).types != nil {
return scrollViewDelegate
} else {
return nil
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment