mirror of
https://github.com/JohnEstropia/CoreStore.git
synced 2026-03-31 14:43:09 +02:00
improved flushing behavior
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
Pod::Spec.new do |s|
|
Pod::Spec.new do |s|
|
||||||
s.name = "CoreStore"
|
s.name = "CoreStore"
|
||||||
s.version = "1.6.8"
|
s.version = "1.6.9"
|
||||||
s.license = "MIT"
|
s.license = "MIT"
|
||||||
s.summary = "Unleashing the real power of Core Data with the elegance and safety of Swift"
|
s.summary = "Unleashing the real power of Core Data with the elegance and safety of Swift"
|
||||||
s.homepage = "https://github.com/JohnEstropia/CoreStore"
|
s.homepage = "https://github.com/JohnEstropia/CoreStore"
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
<key>CFBundlePackageType</key>
|
<key>CFBundlePackageType</key>
|
||||||
<string>FMWK</string>
|
<string>FMWK</string>
|
||||||
<key>CFBundleShortVersionString</key>
|
<key>CFBundleShortVersionString</key>
|
||||||
<string>1.6.8</string>
|
<string>1.6.9</string>
|
||||||
<key>CFBundleSignature</key>
|
<key>CFBundleSignature</key>
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
|
|||||||
@@ -48,10 +48,6 @@ internal final class CoreStoreFetchedResultsController<T: NSManagedObject>: NSFe
|
|||||||
|
|
||||||
internal init<T>(context: NSManagedObjectContext, fetchRequest: NSFetchRequest, from: From<T>? = nil, sectionBy: SectionBy? = nil, fetchClauses: [FetchClause]) {
|
internal init<T>(context: NSManagedObjectContext, fetchRequest: NSFetchRequest, from: From<T>? = nil, sectionBy: SectionBy? = nil, fetchClauses: [FetchClause]) {
|
||||||
|
|
||||||
CoreStore.assert(
|
|
||||||
fetchClauses.filter { $0 is OrderBy }.count > 0,
|
|
||||||
"An \(typeName(NSFetchedResultsController)) requires an OrderBy clause."
|
|
||||||
)
|
|
||||||
from?.applyToFetchRequest(fetchRequest, context: context, applyAffectedStores: false)
|
from?.applyToFetchRequest(fetchRequest, context: context, applyAffectedStores: false)
|
||||||
for clause in fetchClauses {
|
for clause in fetchClauses {
|
||||||
|
|
||||||
|
|||||||
@@ -97,9 +97,9 @@ public final class UnsafeDataTransaction: BaseDataTransaction {
|
|||||||
- Important: Note that unlike `commit()`, `flush()` does not propagate/save updates to the `DataStack` and the persistent store. However, the flushed changes will be seen by children transactions created further from the current transaction (i.e. through `transaction.beginUnsafe()`)
|
- Important: Note that unlike `commit()`, `flush()` does not propagate/save updates to the `DataStack` and the persistent store. However, the flushed changes will be seen by children transactions created further from the current transaction (i.e. through `transaction.beginUnsafe()`)
|
||||||
- throws: an error thrown from `closure`, or an error thrown by Core Data (usually validation errors or conflict errors)
|
- throws: an error thrown from `closure`, or an error thrown by Core Data (usually validation errors or conflict errors)
|
||||||
*/
|
*/
|
||||||
public func flush() throws {
|
public func flush() {
|
||||||
|
|
||||||
try self.context.save()
|
self.context.processPendingChanges()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -109,10 +109,10 @@ public final class UnsafeDataTransaction: BaseDataTransaction {
|
|||||||
- parameter closure: the closure where changes can be made prior to the flush
|
- parameter closure: the closure where changes can be made prior to the flush
|
||||||
- throws: an error thrown from `closure`, or an error thrown by Core Data (usually validation errors or conflict errors)
|
- throws: an error thrown from `closure`, or an error thrown by Core Data (usually validation errors or conflict errors)
|
||||||
*/
|
*/
|
||||||
public func flush(@noescape closure: () throws -> Void) throws {
|
public func flush(@noescape closure: () throws -> Void) rethrows {
|
||||||
|
|
||||||
try closure()
|
try closure()
|
||||||
try self.context.save()
|
self.context.processPendingChanges()
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user