ReactiveSwiftCoreData
这个库是对 CoreData 的一种轻薄型包装,可以流式传输来自 NSManagedObjectContext
的更改。
需求
- Swift 4.1
如何使用
ReactiveSwiftCoreData
在 NSManagedObjectContext
上添加了 .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文件。