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>.cancel
after 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>.cancel
after 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>.cancel
after 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.cancel
after 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.cancel
after 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.cancel
after 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()