Event
@propertyWrapper
public class Event<T>
Property wrapper that can be used to define an event publisher/source pair using a single property.
When used as a property wrapper, events can be registered to with
EventSource<T>.addListener(weakOwner:_:), and published with
EventPublisher<T>.publishEvent(_:).
Warning: Not thread-safe.
-
Gets the event source interface that clients can register event listeners on.
Declaration
Swift
public var wrappedValue: EventSource<T> { get } -
Undocumented
Declaration
Swift
public init() -
Synchronously publishes an event with a given value to all event listeners currently active.
Declaration
Swift
public func publishEvent(_ event: T) -
Convenience for invoking
publishEvent(_:)by calling the event variable itself directly.Declaration
Swift
public func callAsFunction(_ event: T) -
Convenience for:
let event = CancellableActionEventArgs(value: ()) self.publishEvent(event)Returns the final value of
CancellableActionEventArgs<Args>.cancelafter publishing the event to listeners.Declaration
Swift
func publishCancellableChangeEvent() -> Bool where T == CancellableActionEventArgs<()> -
Convenience for:
let event = CancellableActionEventArgs(value: value) self.publishEvent(event)Returns the final value of
CancellableActionEventArgs<Args>.cancelafter publishing the event to listeners.Declaration
Swift
func publishCancellableChangeEvent<Value>(value: Value) -> Bool where T == CancellableActionEventArgs<Value> -
Convenience for invoking
publishCancellableChangeEvent()by calling the event variable itself directly.Declaration
Swift
func callAsFunction() -> Bool where T == CancellableActionEventArgs<()> -
Convenience for invoking
publishCancellableChangeEvent(value:)by calling the event variable itself directly.Declaration
Swift
func callAsFunction<Value>(value: Value) -> Bool where T == CancellableActionEventArgs<Value> -
Convenience for:
let event = CancellableValueChangedEventArgs(oldValue: old, newValue: new) self.publishEvent(event)Returns the final value of
CancellableValueChangedEventArgs<Value>.cancelafter publishing the event to listeners.Declaration
Swift
func publishCancellableChangeEvent<Value>( old: Value, new: Value ) -> Bool where T == CancellableValueChangedEventArgs<Value> -
Convenience for invoking
publishCancellableChangeEvent(old:new:)by calling the event variable itself directly.Declaration
Swift
func callAsFunction<Value>( old: Value, new: Value ) -> Bool where T == CancellableValueChangedEventArgs<Value> -
Convenience for:
self.publishEvent(ValueChangedEventArgs(oldValue: old, newValue: new))Declaration
Swift
func publishChangeEvent<Value>( old: Value, new: Value ) where T == ValueChangedEventArgs<Value> -
Convenience for invoking
publishChangeEvent(old:new:)by calling the event variable itself directly.Declaration
Swift
func callAsFunction<Value>( old: Value, new: Value ) where T == ValueChangedEventArgs<Value> -
Convenience for:
let event = CancellableActionEventArgs(value: ()) self.publishEvent((sender, event))Returns the final value of
event.cancelafter publishing the event to listeners.Declaration
Swift
func publishCancellableChangeEvent<Sender>( sender: Sender ) -> Bool where T == SenderEventArgs<Sender, CancellableActionEventArgs<Void>> -
Convenience for:
let event = CancellableActionEventArgs(value: value) self.publishEvent((sender, event))Returns the final value of
event.cancelafter publishing the event to listeners.Declaration
Swift
func publishCancellableChangeEvent<Sender, Value>( sender: Sender, value: Value ) -> Bool where T == SenderEventArgs<Sender, CancellableActionEventArgs<Value>> -
Convenience for invoking
publishCancellableChangeEvent(sender:)by calling the event variable itself directly.Declaration
Swift
func callAsFunction<Sender>( sender: Sender ) -> Bool where T == SenderEventArgs<Sender, CancellableActionEventArgs<Void>> -
Convenience for invoking
publishCancellableChangeEvent(sender:value:)by calling the event variable itself directly.Declaration
Swift
func callAsFunction<Sender, Value>( sender: Sender, value: Value ) -> Bool where T == SenderEventArgs<Sender, CancellableActionEventArgs<Value>> -
Convenience for:
let event = CancellableValueChangedEventArgs(oldValue: old, newValue: new) self.publishEvent((sender, event))Returns the final value of
event.cancelafter publishing the event to listeners.Declaration
Swift
func publishCancellableChangeEvent<Sender, Value>( sender: Sender, old: Value, new: Value ) -> Bool where T == SenderEventArgs<Sender, CancellableValueChangedEventArgs<Value>> -
Convenience for invoking
publishCancellableChangeEvent(sender:old:new:)by calling the event variable itself directly.Declaration
Swift
func callAsFunction<Sender, Value>( sender: Sender, old: Value, new: Value ) -> Bool where T == SenderEventArgs<Sender, CancellableValueChangedEventArgs<Value>> -
Convenience for
publishEvent((sender, ())).Declaration
Swift
func publishEvent<Sender>(sender: Sender) where T == (sender: Sender, args: ()) -
Convenience for
publishEvent((sender, args)).Declaration
Swift
func publishEvent<Sender, Args>( sender: Sender, _ args: Args ) where T == SenderEventArgs<Sender, Args> -
Convenience for invoking
publishEvent(sender:)by calling the event variable itself directly.Declaration
Swift
func callAsFunction<Sender>(sender: Sender) where T == (sender: Sender, args: ()) -
Convenience for invoking
publishEvent(sender:_:)by calling the event variable itself directly.Declaration
Swift
func callAsFunction<Sender, Args>( sender: Sender, _ args: Args ) where T == SenderEventArgs<Sender, Args> -
Convenience for:
self.publishEvent((sender, ValueChangedEventArgs(oldValue: old, newValue: new)))Declaration
Swift
func publishChangeEvent<Sender, Value>( sender: Sender, old: Value, new: Value ) where T == SenderEventArgs<Sender, ValueChangedEventArgs<Value>> -
Convenience for invoking
publishChangeEvent(sender:old:new:)by calling the event variable itself directly.Declaration
Swift
func callAsFunction<Sender, Value>( sender: Sender, old: Value, new: Value ) where T == SenderEventArgs<Sender, ValueChangedEventArgs<Value>>
-
Convenience for
publishEvent(()).Declaration
Swift
func publishEvent() -
Convenience for
publishEvent(()).Declaration
Swift
func callAsFunction()