mirror of
https://github.com/JohnEstropia/CoreStore.git
synced 2026-04-01 07:03:06 +02:00
Added utility for re-faulting all objects in a transaction/dataStack
This commit is contained in:
@@ -167,6 +167,18 @@ internal extension NSManagedObjectContext {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal func refreshAllObjectsAsFaults() {
|
||||||
|
|
||||||
|
if #available(iOS 8.3, *) {
|
||||||
|
|
||||||
|
self.refreshAllObjects()
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
self.registeredObjects.forEach { self.refreshObject($0, mergeChanges: false) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// MARK: Private
|
// MARK: Private
|
||||||
|
|
||||||
|
|||||||
@@ -188,6 +188,19 @@ public /*abstract*/ class BaseDataTransaction {
|
|||||||
objects.forEach { context.fetchExisting($0)?.deleteFromContext() }
|
objects.forEach { context.fetchExisting($0)?.deleteFromContext() }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Refreshes all registered objects `NSManagedObject`s in the transaction.
|
||||||
|
*/
|
||||||
|
public func refreshAllObjectsAsFaults() {
|
||||||
|
|
||||||
|
CoreStore.assert(
|
||||||
|
self.isRunningInAllowedQueue(),
|
||||||
|
"Attempted to refresh entities outside their designated queue."
|
||||||
|
)
|
||||||
|
|
||||||
|
self.context.refreshAllObjectsAsFaults()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// MARK: Internal
|
// MARK: Internal
|
||||||
|
|
||||||
|
|||||||
@@ -65,6 +65,14 @@ public extension CoreStore {
|
|||||||
return self.defaultStack.beginUnsafe(supportsUndo: supportsUndo)
|
return self.defaultStack.beginUnsafe(supportsUndo: supportsUndo)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Refreshes all registered objects `NSManagedObject`s in the `DataStack`.
|
||||||
|
*/
|
||||||
|
public static func refreshAllObjectsAsFaults() {
|
||||||
|
|
||||||
|
self.defaultStack.refreshAllObjectsAsFaults()
|
||||||
|
}
|
||||||
|
|
||||||
@available(*, deprecated=1.3.1, renamed="beginUnsafe")
|
@available(*, deprecated=1.3.1, renamed="beginUnsafe")
|
||||||
@warn_unused_result
|
@warn_unused_result
|
||||||
public static func beginDetached() -> UnsafeDataTransaction {
|
public static func beginDetached() -> UnsafeDataTransaction {
|
||||||
|
|||||||
@@ -82,6 +82,19 @@ public extension DataStack {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Refreshes all registered objects `NSManagedObject`s in the `DataStack`.
|
||||||
|
*/
|
||||||
|
public func refreshAllObjectsAsFaults() {
|
||||||
|
|
||||||
|
CoreStore.assert(
|
||||||
|
NSThread.isMainThread(),
|
||||||
|
"Attempted to refresh entities outside their designated queue."
|
||||||
|
)
|
||||||
|
|
||||||
|
self.mainContext.refreshAllObjectsAsFaults()
|
||||||
|
}
|
||||||
|
|
||||||
@available(*, deprecated=1.3.1, renamed="beginUnsafe")
|
@available(*, deprecated=1.3.1, renamed="beginUnsafe")
|
||||||
@warn_unused_result
|
@warn_unused_result
|
||||||
public func beginDetached() -> UnsafeDataTransaction {
|
public func beginDetached() -> UnsafeDataTransaction {
|
||||||
|
|||||||
Reference in New Issue
Block a user