ObservationStateRegistrar
Provides storage for tracking and access to data changes.
struct ObservationStateRegistrar
Provides storage for tracking and access to data changes.
struct ObservationStateRegistrar
import ComposableArchitecture
The Composable Architecture (TCA, for short) is a library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind. It can be used in SwiftUI, UIKit, and more, and on any Apple platform (iOS, macOS, tvOS, and watchOS).
struct ObservableStateID
A unique identifier for a observed value.
protocol Copyable
A type whose values can be implicitly or explicitly copied.
protocol Decodable
A type that can decode itself from an external representation.
protocol Encodable
A type that can encode itself to an external representation.
protocol Equatable
A type that can be compared for value equality.
protocol Escapable
protocol Hashable : Equatable
A type that can be hashed into a Hasher
to produce an integer hash value.
protocol Sendable
init()
init(from decoder: any Decoder) throws
var id: ObservableStateID { get }
static func == (_: Self, _: Self) -> Bool
mutating func _$willModify()
func access<Subject, Member>(_ subject: Subject, keyPath: KeyPath<Subject, Member>) where Subject : Observable
Registers access to a specific property for observation.
func access<Subject, Member>(_ subject: Subject, keyPath: KeyPath<Subject, Member>) where Subject : Perceptible
func didModify<Subject, Member>(_ subject: Subject, keyPath: KeyPath<Subject, Member>, _ member: inout Member, _ oldValue: Member, _ isIdentityEqual: (Member, Member) -> Bool) where Subject : Observable
A property observation called after setting the value of the subject.
func didModify<Subject, Member>(_ subject: Subject, keyPath: KeyPath<Subject, Member>, _ member: inout Member, _ oldValue: Member, _ isIdentityEqual: (Member, Member) -> Bool) where Subject : Perceptible
func encode(to encoder: any Encoder) throws
func hash(into hasher: inout Hasher)
func mutate<Subject, Member, Value>(_ subject: Subject, keyPath: KeyPath<Subject, Member>, _ value: inout Value, _ newValue: Value, _ isIdentityEqual: (Value, Value) -> Bool) where Subject : Observable
Mutates a value to a new value, and decided to notify observers based on the identity of the value.
func mutate<Subject, Member, Value>(_ subject: Subject, keyPath: KeyPath<Subject, Member>, _ value: inout Value, _ newValue: Value, _ isIdentityEqual: (Value, Value) -> Bool) where Subject : Perceptible
func willModify<Subject, Member>(_ subject: Subject, keyPath: KeyPath<Subject, Member>, _ member: inout Member) -> Member where Subject : Observable, Member : ObservableState
A property observation called before setting the value of the subject.
func willModify<Subject, Member>(_ subject: Subject, keyPath: KeyPath<Subject, Member>, _ member: inout Member) -> Member where Subject : Observable
A no-op for non-observable values.
func willModify<Subject, Member>(_ subject: Subject, keyPath: KeyPath<Subject, Member>, _ member: inout Member) -> Member where Subject : Perceptible, Member : ObservableState
func willModify<Subject, Member>(_ subject: Subject, keyPath: KeyPath<Subject, Member>, _ member: inout Member) -> Member where Subject : Perceptible
static func != (lhs: Self, rhs: Self) -> Bool
Returns a Boolean value indicating whether two values are not equal.