public class MulticastDelegate<T>: NSObject, Loggable
A class that allows to have multiple delegates instead of one.
NSHashTable internally to maintain a set of weak delegates.
NSHashTablemay not immediately deinit the un-referenced object, due to Apple's implementation, therefore
Allows to extend with custom
logmethod which automatically captures current type (class name).
public func add(delegate: T)
Add a single delegate.
public func remove(delegate: T)
Remove a single delegate.
In most cases this is not required to be called explicitly since all delegates are weak.
public func removeAllDelegates()
Remove all delegates.