ReactiveSwiftCoreData 0.8.0

ReactiveSwiftCoreData 0.8.0

Evghenii Nicolaev维护。



ReactiveSwiftCoreData

CI Status Version License Platform

这个库是对 CoreData 的一种轻薄型包装,可以流式传输来自 NSManagedObjectContext 的更改。

需求

  • Swift 4.1

如何使用

ReactiveSwiftCoreDataNSManagedObjectContext 上添加了 .reactive 扩展。这个扩展会监听管理对象上下文中的更改。不需要管理对象上下文保存以在信号中传播事件。

managedObjectContext.reactive.observeContext().observeValues { changeEvent in ... }

监听提供的端点上下文中的更改。

public struct CoreDataChangeEvent {
    public let inserted: Set<NSManagedObject>
    public let updated: Set<NSManagedObject>
    public let deleted: Set<NSManagedObject>
    public let refreshed: Set<NSManagedObject>
}

managedObjectContext.reactive.observe(object: managedObject).observeResult { result in ... }

在当前上下文中观察提供的对象的更新。它还会对所有的关系变化做出反应。如果对象被删除,流将错误 CoreDataObserverError.objectDeleted

managedObjectContext.reactive.observeResult(for: fetchRequest).observeResult { result in .. }

每当在端点上下文中删除或插入对象时,它都会再次获取提供的请求。

安装

ReactiveSwiftCoreData 可以通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中:

####尚未推送到规范仓库!

pod 'ReactiveSwiftCoreData'

许可协议

ReactiveSwiftCoreData遵循MIT许可协议。有关更多信息,请参阅LICENSE文件。