improved flushing behavior

This commit is contained in:
John Rommel Estropia
2016-05-28 22:34:14 +09:00
parent f617f2cc53
commit 0c8731c610
4 changed files with 6 additions and 10 deletions

View File

@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "CoreStore"
s.version = "1.6.8"
s.version = "1.6.9"
s.license = "MIT"
s.summary = "Unleashing the real power of Core Data with the elegance and safety of Swift"
s.homepage = "https://github.com/JohnEstropia/CoreStore"

View File

@@ -15,7 +15,7 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.6.8</string>
<string>1.6.9</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>

View File

@@ -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]) {
CoreStore.assert(
fetchClauses.filter { $0 is OrderBy }.count > 0,
"An \(typeName(NSFetchedResultsController)) requires an OrderBy clause."
)
from?.applyToFetchRequest(fetchRequest, context: context, applyAffectedStores: false)
for clause in fetchClauses {

View File

@@ -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()`)
- 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
- 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 self.context.save()
self.context.processPendingChanges()
}
/**