ObjectObserver
@available(OSX 10.12, *)
public protocol ObjectObserver : AnyObject
Implement the ObjectObserver protocol to observe changes to a single DynamicObject instance. ObjectObservers may register themselves to a ObjectMonitor‘s addObserver(_:) method:
let monitor = CoreStore.monitorObject(object)
monitor.addObserver(self)
-
The
DynamicObjecttype for the observed objectDeclaration
Swift
associatedtype ObjectEntityType : DynamicObject -
objectMonitor(_:willUpdateObject:)Default implementationHandles processing just before a change to the observed
objectoccurs. (Optional) The default implementation does nothing.Default Implementation
Declaration
Swift
func objectMonitor(_ monitor: ObjectMonitor<ObjectEntityType>, willUpdateObject object: ObjectEntityType)Parameters
monitorthe
ObjectMonitormonitoring the object being observedobjectthe
DynamicObjectinstance being observed -
objectMonitor(_:didUpdateObject:changedPersistentKeys:)Default implementationHandles processing right after a change to the observed
objectoccurs. (Optional) The default implementation does nothing.Default Implementation
Declaration
Swift
func objectMonitor(_ monitor: ObjectMonitor<ObjectEntityType>, didUpdateObject object: ObjectEntityType, changedPersistentKeys: Set<KeyPathString>)Parameters
monitorthe
ObjectMonitormonitoring the object being observedobjectthe
DynamicObjectinstance being observedchangedPersistentKeysa
Setof key paths for the attributes that were changed. Note thatchangedPersistentKeysonly contains keys for attributes/relationships present in the persistent store, thus transient properties will not be reported. -
objectMonitor(_:didDeleteObject:)Default implementationHandles processing right after
objectis deleted. (Optional) The default implementation does nothing.Default Implementation
Declaration
Swift
func objectMonitor(_ monitor: ObjectMonitor<ObjectEntityType>, didDeleteObject object: ObjectEntityType)Parameters
monitorthe
ObjectMonitormonitoring the object being observedobjectthe
DynamicObjectinstance being observed
View on GitHub
ObjectObserver Protocol Reference