patricioguzman42 / ContextWatcher

Example which shows how to observe changes on single NSManagedObject instance

Home Page:https://medium.com/inspace-labs-blog/how-to-observe-changes-on-single-instance-of-nsmanagedobject-f64532f36ef4

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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()
}

About

Example which shows how to observe changes on single NSManagedObject instance

https://medium.com/inspace-labs-blog/how-to-observe-changes-on-single-instance-of-nsmanagedobject-f64532f36ef4

License:MIT License


Languages

Language:Swift 99.6%Language:Ruby 0.4%