Multicast delegate is a delegate that can have more than one element in its invocation list.
Using Swift Package Manager or import manually.
- NSHashTable free. It results better performance, support Liunx.
- MulticastDelegate confirms
Sequence, which means that lots of sequence features available.
- Other delightful details, eg: error handling optimization, debug log optimization.
I'm a big fan of the multicast delegate. I have "invented" and used it since 2014.
As Swift’s ABI is stabilized, it's time to move a Swift improvment.
But I cannot find a satisfied implementation everywhere. So I write one.
- jonasman/MulticastDelegate - Use NSHashTable. Operator overloading is not a good idea in my opinion, it is not intuitive and reduces readability. API does not meet design guidelines (Omit needless words).
- elano50/MulticastDelegateKit - Use NSHashTable.
- Kevin Lundberg's - Generic type should not be
AnyObject. API does not meet design guidelines (Omit needless words).
- Greg Read's - Missing dupracate check when adding. API does not meet design guidelines (Omit needless words). I dislike remove when invoking.
- Ivan's - Missing dupracate check when adding. It is odd using an equatable weak wrapper to check duplicates.