Class
SQLiteHookToken
Returned by every
add…Observer and set…Validator call, whether sync or async, of any type. Call cancel() to unregister its associated callback.final class SQLiteHookToken
Token Lifetime Behavior
The lifetime behavior depends on the SQLiteObserverLifetime parameter:
scoped- observer automatically cancels when token is deallocated:// Async usage: let token = try await connection.addUpdateObserver( lifetime: .scoped ) { event in print("Auto-canceled when token is deallocated") } // Sync usage: let token = connection.addUpdateObserver(lifetime: .scoped) { event in print("Auto-canceled when token is deallocated") } // Observer stops when `token` goes out of scopepinned- observer remains active until explicitly canceled:// Observer stays active until connection closes or explicit cancel let token = try await connection.addUpdateObserver( lifetime: .pinned ) { [weak self] event in self?.logger.info("This will be called until explicitly canceled!") } // Call token.cancel() when you want to stop the observer
Important
Use [weak self] or [unowned self] in observers to avoid retain cycles, especially with pinned lifetime.
Note
Calling cancel() after the connection has been closed is a no-op.
Topics
Operators
==(_:_:)Returns a Boolean value indicating whether two values are equal.
Instance Properties
Instance Methods
cancel()Cancels the associated hook callback.hash(into:)Hashes the essential components of this value by feeding them into the given hasher.
Relationships
Conforms To
Swift.EquatableSwift.HashableSwift.SendableSwift.SendableMetatype