This commit is contained in:
John Rommel Estropia
2015-08-28 08:09:06 +09:00
parent d5e769be6c
commit 21a524d725
13 changed files with 240 additions and 251 deletions

View File

@@ -37,11 +37,12 @@ internal final class MigrationManager: NSMigrationManager, NSProgressReporting {
super.didChangeValueForKey(key)
if key == "migrationProgress" {
guard key == "migrationProgress" else {
let progress = self.progress
progress.completedUnitCount = Int64(Float(progress.totalUnitCount) * self.migrationProgress)
return
}
let progress = self.progress
progress.completedUnitCount = Int64(Float(progress.totalUnitCount) * self.migrationProgress)
}

View File

@@ -17,22 +17,10 @@ internal extension NSFileManager {
internal func removeSQLiteStoreAtURL(fileURL: NSURL) {
do {
try self.removeItemAtURL(fileURL)
}
catch _ { }
_ = try? self.removeItemAtURL(fileURL)
do {
try self.removeItemAtPath(fileURL.path!.stringByAppendingString("-shm"))
}
catch _ { }
do {
try self.removeItemAtPath(fileURL.path!.stringByAppendingString("-wal"))
}
catch _ { }
let filePath = fileURL.path!
_ = try? self.removeItemAtPath(filePath.stringByAppendingString("-shm"))
_ = try? self.removeItemAtPath(filePath.stringByAppendingString("-wal"))
}
}

View File

@@ -61,14 +61,14 @@ internal extension NSManagedObjectContext {
internal func entityDescriptionForEntityClass(entity: AnyClass) -> NSEntityDescription? {
if let entityName = self.parentStack?.entityNameForEntityClass(entity) {
return NSEntityDescription.entityForName(
entityName,
inManagedObjectContext: self
)
guard let entityName = self.parentStack?.entityNameForEntityClass(entity) else {
return nil
}
return nil
return NSEntityDescription.entityForName(
entityName,
inManagedObjectContext: self
)
}
internal func setupForCoreStoreWithContextName(contextName: String) {
@@ -83,7 +83,7 @@ internal extension NSManagedObjectContext {
let context = note.object as! NSManagedObjectContext
let insertedObjects = context.insertedObjects
let numberOfInsertedObjects = insertedObjects.count
if numberOfInsertedObjects <= 0 {
guard numberOfInsertedObjects > 0 else {
return
}
@@ -91,7 +91,6 @@ internal extension NSManagedObjectContext {
do {
try context.obtainPermanentIDsForObjects(Array(insertedObjects))
return
}
catch {

View File

@@ -37,24 +37,17 @@ internal extension NSManagedObjectContext {
if object.objectID.temporaryID {
var objectIDError: NSError?
let didSucceed = withExtendedLifetime(self) { (context: NSManagedObjectContext) -> Bool in
do {
do {
try withExtendedLifetime(self) { (context: NSManagedObjectContext) -> Void in
try context.obtainPermanentIDsForObjects([object])
return true
}
catch {
objectIDError = error as NSError
return false
}
}
if didSucceed != true {
catch {
CoreStore.handleError(
objectIDError ?? NSError(coreStoreErrorCode: .UnknownError),
error as NSError,
"Failed to obtain permanent ID for object."
)
return nil
@@ -75,7 +68,6 @@ internal extension NSManagedObjectContext {
return nil
}
}
internal func fetchOne<T: NSManagedObject>(from: From<T>, _ fetchClauses: FetchClause...) -> T? {

View File

@@ -46,7 +46,7 @@ internal extension NSManagedObjectContext {
}
set {
if self.parentContext != nil {
guard self.parentContext == nil else {
return
}

View File

@@ -71,7 +71,7 @@ internal extension NSManagedObjectContext {
self.performBlockAndWait { [unowned self] () -> Void in
if !self.hasChanges {
guard self.hasChanges else {
return
}
@@ -115,7 +115,7 @@ internal extension NSManagedObjectContext {
self.performBlock { () -> Void in
if !self.hasChanges {
guard self.hasChanges else {
if let completion = completion {

View File

@@ -192,14 +192,15 @@ internal extension NSManagedObjectModel {
@nonobjc internal subscript(metadata: [String: AnyObject]) -> NSManagedObjectModel? {
if let modelHashes = metadata[NSStoreModelVersionHashesKey] as? [String : NSData] {
guard let modelHashes = metadata[NSStoreModelVersionHashesKey] as? [String : NSData] else {
for modelVersion in self.modelVersions ?? [] {
return nil
}
for modelVersion in self.modelVersions ?? [] {
if let versionModel = self[modelVersion] where modelHashes == versionModel.entityVersionHashesByName {
if let versionModel = self[modelVersion] where modelHashes == versionModel.entityVersionHashesByName {
return versionModel
}
return versionModel
}
}
return nil