MutableProperty
public final class MutableProperty<Value> : ComposableMutablePropertyProtocol
A mutable property of type Value
that allows observation of its changes.
Instances of this class are thread-safe.
-
The lifetime of the property.
Declaration
Swift
public let lifetime: Lifetime
-
A signal that will send the property’s changes over time, then complete when the property has deinitialized.
Declaration
Swift
public let signal: Signal<Value, Never>
-
A producer for Signals that will send the property’s current value, followed by all changes over time, then complete when the property has deinitialized.
Declaration
Swift
public var producer: SignalProducer<Value, Never> { get }
-
Initializes a mutable property that first takes on
initialValue
Declaration
Swift
public init(_ initialValue: Value)
Parameters
initialValue
Starting value for the mutable property.
-
Atomically replaces the contents of the variable.
Declaration
Swift
@discardableResult public func swap(_ newValue: Value) -> Value
Parameters
newValue
New property value.
Return Value
The previous property value.
-
Atomically modifies the variable.
Declaration
Swift
@discardableResult public func modify<Result>(_ action: (inout Value) throws -> Result) rethrows -> Result
Parameters
action
A closure that accepts an inout reference to the value.
Return Value
The result of the action.
-
Atomically performs an arbitrary action using the current value of the variable.
Declaration
Swift
@discardableResult public func withValue<Result>(_ action: (Value) throws -> Result) rethrows -> Result
Parameters
action
A closure that accepts current property value.
Return Value
the result of the action.