SkillAgentSearch skills...

ContextWatcher

Example which shows how to observe changes on single NSManagedObject instance

Install / Use

/learn @m1entus/ContextWatcher
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

ContextWatcher

This example project show how to observer changes on single NSManagedObject.

let context = NSManagedObjectContext.defaultContext
let observer = CoreDataContextObserver(context: context)

observer.observeObject(journal, completionBlock: { object, state in
    print(“CHANGED: \(object.changedValuesForCurrentEvent())\n”)
    print(“state: \(state)”)
})
public struct CoreDataContextObserverState : OptionSetType {
    static public let Inserted: ContextWatcher.CoreDataContextObserverState
    static public let Updated: ContextWatcher.CoreDataContextObserverState
    static public let Deleted: ContextWatcher.CoreDataContextObserverState
    static public let Refreshed: ContextWatcher.CoreDataContextObserverState
    static public let All: CoreDataContextObserverState
}
public typealias CoreDataContextObserverCompletionBlock = (NSManagedObject, CoreDataContextObserverState) -> ()

public class CoreDataContextObserver {

    public var enabled: Bool
    private(set) var context: NSManagedObjectContext

    public init(context: NSManagedObjectContext)

    public func observeObject(object: NSManagedObject, state: CoreDataContextObserverState = default, completionBlock: CoreDataContextObserverCompletionBlock)
    public func unobserveObject(object: NSManagedObject, forState state: CoreDataContextObserverState = default)
    public func unobserveAllObjects()
}
View on GitHub
GitHub Stars14
CategoryDevelopment
Updated1y ago
Forks1

Languages

Swift

Security Score

75/100

Audited on Feb 23, 2025

No findings