Adds the ability for a collection view to have multiple delegates.
Swift Package Manager
.package(url: "https://github.com/EvanCooper9/ECUICollectionViewMultiDelegate", from: "0.1.0")
- Create an instance of
- Set your collection view's delegate to that instance
- Add and remove as many delegates to your
Delegate methods that return values
UICollectionViewDelegate methods require a return value (i.e.
collectionView(_ collectionView: UICollectionView, shouldHighlightItemAt indexPath: IndexPath) -> Bool). When multiple delegates are involved, it's hard to decide which value to take.
ECUICollectionViewMultiDelegate will attempt to reduce all of the values returned by all the delegates, via it's
- Assign the
reductionDelegateproperty of your
ECUICollectionViewMultiDelegateinstance and decide which value to return
nil, the value returned will be from the last added delegate that responds to the current method. If no delegate responds to the current method, the default
UICollectionViewDelegatevalue will be returned, as if no delegate was ever assigned.