This commit is contained in:
John Rommel Estropia
2016-03-27 23:12:21 +09:00
parent 1d5cf5a4cc
commit d3e0f576cf
11 changed files with 51 additions and 50 deletions

View File

@@ -49,6 +49,7 @@ public extension NSFetchedResultsController {
// MARK: Internal
@nonobjc
internal static func createFromContext<T: NSManagedObject>(context: NSManagedObjectContext, fetchRequest: NSFetchRequest, from: From<T>? = nil, sectionBy: SectionBy? = nil, fetchClauses: [FetchClause]) -> NSFetchedResultsController {
return CoreStoreFetchedResultsController<T>(
@@ -64,6 +65,7 @@ public extension NSFetchedResultsController {
// MARK: Deprecated
@available(*, deprecated=1.5.2, message="Use NSFetchedResultsController.createForStack(_:fetchRequest:from:sectionBy:fetchClauses:) to create NSFetchedResultsControllers directly")
@nonobjc
public convenience init<T: NSManagedObject>(dataStack: DataStack, fetchRequest: NSFetchRequest, from: From<T>? = nil, sectionBy: SectionBy? = nil, fetchClauses: [FetchClause]) {
let context = dataStack.mainContext

View File

@@ -51,6 +51,7 @@ public extension NSProgress {
static var progressObserver: Void?
}
@nonobjc
private var progressObserver: ProgressObserver {
get {
@@ -74,7 +75,10 @@ public extension NSProgress {
}
@objc private final class ProgressObserver: NSObject {
// MARK: - ProgressObserver
@objc
private final class ProgressObserver: NSObject {
private unowned let progress: NSProgress
private var progressHandler: ((progress: NSProgress) -> Void)? {

View File

@@ -1,26 +0,0 @@
//
// NSFileManager+Setup.swift
// CoreStore
//
// Created by John Rommel Estropia on 2015/07/19.
// Copyright © 2015 John Rommel Estropia. All rights reserved.
//
import Foundation
// MARK: - NSFileManager
internal extension NSFileManager {
// MARK: Internal
internal func removeSQLiteStoreAtURL(fileURL: NSURL) {
_ = try? self.removeItemAtURL(fileURL)
let filePath = fileURL.path!
_ = try? self.removeItemAtPath(filePath.stringByAppendingString("-shm"))
_ = try? self.removeItemAtPath(filePath.stringByAppendingString("-wal"))
}
}

View File

@@ -36,6 +36,7 @@ internal extension NSManagedObjectContext {
// MARK: Internal
@nonobjc
internal var shouldCascadeSavesToParent: Bool {
get {
@@ -56,11 +57,13 @@ internal extension NSManagedObjectContext {
}
}
@nonobjc
internal func entityDescriptionForEntityType(entity: NSManagedObject.Type) -> NSEntityDescription? {
return self.entityDescriptionForEntityClass(entity)
}
@nonobjc
internal func entityDescriptionForEntityClass(entity: AnyClass) -> NSEntityDescription? {
guard let entityName = self.parentStack?.entityNameForEntityClass(entity) else {
@@ -73,6 +76,7 @@ internal extension NSManagedObjectContext {
)
}
@nonobjc
internal func setupForCoreStoreWithContextName(contextName: String) {
#if USE_FRAMEWORKS
@@ -123,6 +127,7 @@ internal extension NSManagedObjectContext {
static var shouldCascadeSavesToParent: Void?
}
@nonobjc
private var observerForWillSaveNotification: NotificationObserver? {
get {

View File

@@ -33,6 +33,7 @@ internal extension NSManagedObjectContext {
// MARK: Internal
@nonobjc
internal weak var parentStack: DataStack? {
get {
@@ -59,6 +60,7 @@ internal extension NSManagedObjectContext {
}
}
@nonobjc
internal class func rootSavingContextForCoordinator(coordinator: NSPersistentStoreCoordinator) -> NSManagedObjectContext {
let context = NSManagedObjectContext(concurrencyType: .PrivateQueueConcurrencyType)
@@ -70,6 +72,7 @@ internal extension NSManagedObjectContext {
return context
}
@nonobjc
internal class func mainContextForRootContext(rootContext: NSManagedObjectContext) -> NSManagedObjectContext {
let context = NSManagedObjectContext(concurrencyType: .MainQueueConcurrencyType)
@@ -106,6 +109,7 @@ internal extension NSManagedObjectContext {
static var observerForDidSaveNotification: Void?
}
@nonobjc
private var observerForDidSaveNotification: NotificationObserver? {
get {

View File

@@ -36,6 +36,7 @@ internal extension NSManagedObjectContext {
// MARK: Internal
@nonobjc
internal weak var parentTransaction: BaseDataTransaction? {
get {
@@ -55,6 +56,7 @@ internal extension NSManagedObjectContext {
}
}
@nonobjc
internal func isRunningInAllowedQueue() -> Bool {
guard let parentTransaction = self.parentTransaction else {
@@ -64,6 +66,7 @@ internal extension NSManagedObjectContext {
return parentTransaction.isRunningInAllowedQueue()
}
@nonobjc
internal func temporaryContextInTransactionWithConcurrencyType(concurrencyType: NSManagedObjectContextConcurrencyType) -> NSManagedObjectContext {
let context = NSManagedObjectContext(concurrencyType: concurrencyType)
@@ -76,6 +79,7 @@ internal extension NSManagedObjectContext {
return context
}
@nonobjc
internal func saveSynchronously() -> SaveResult {
var result = SaveResult(hasChanges: false)
@@ -122,6 +126,7 @@ internal extension NSManagedObjectContext {
return result
}
@nonobjc
internal func saveAsynchronouslyWithCompletion(completion: ((result: SaveResult) -> Void) = { _ in }) {
self.performBlock { () -> Void in
@@ -167,6 +172,7 @@ internal extension NSManagedObjectContext {
}
}
@nonobjc
internal func refreshAllObjectsAsFaults() {
if #available(iOS 8.3, OSX 10.11, *) {

View File

@@ -33,7 +33,8 @@ internal extension NSManagedObjectModel {
// MARK: Internal
@nonobjc internal class func fromBundle(bundle: NSBundle, modelName: String, modelVersionHints: Set<String> = []) -> NSManagedObjectModel {
@nonobjc
internal class func fromBundle(bundle: NSBundle, modelName: String, modelVersionHints: Set<String> = []) -> NSManagedObjectModel {
guard let modelFilePath = bundle.pathForResource(modelName, ofType: "momd") else {
@@ -108,7 +109,8 @@ internal extension NSManagedObjectModel {
fatalError("Could not create an \(typeName(NSManagedObjectModel)) from the model at URL \"\(modelFileURL)\".")
}
@nonobjc internal private(set) var currentModelVersion: String? {
@nonobjc
internal private(set) var currentModelVersion: String? {
get {
@@ -128,7 +130,8 @@ internal extension NSManagedObjectModel {
}
}
@nonobjc internal private(set) var modelVersions: Set<String>? {
@nonobjc
internal private(set) var modelVersions: Set<String>? {
get {
@@ -148,12 +151,14 @@ internal extension NSManagedObjectModel {
}
}
@nonobjc internal func entityNameForClass(entityClass: AnyClass) -> String {
@nonobjc
internal func entityNameForClass(entityClass: AnyClass) -> String {
return self.entityNameMapping[NSStringFromClass(entityClass)]!
}
@nonobjc internal func entityTypesMapping() -> [String: NSManagedObject.Type] {
@nonobjc
internal func entityTypesMapping() -> [String: NSManagedObject.Type] {
var mapping = [String: NSManagedObject.Type]()
self.entityNameMapping.forEach { (className, entityName) in
@@ -163,12 +168,14 @@ internal extension NSManagedObjectModel {
return mapping
}
@nonobjc internal func mergedModels() -> [NSManagedObjectModel] {
@nonobjc
internal func mergedModels() -> [NSManagedObjectModel] {
return self.modelVersions?.map { self[$0] }.flatMap { $0 == nil ? [] : [$0!] } ?? [self]
}
@nonobjc internal subscript(modelVersion: String) -> NSManagedObjectModel? {
@nonobjc
internal subscript(modelVersion: String) -> NSManagedObjectModel? {
if modelVersion == self.currentModelVersion {
@@ -194,7 +201,8 @@ internal extension NSManagedObjectModel {
return model
}
@nonobjc internal subscript(metadata: [String: AnyObject]) -> NSManagedObjectModel? {
@nonobjc
internal subscript(metadata: [String: AnyObject]) -> NSManagedObjectModel? {
guard let modelHashes = metadata[NSStoreModelVersionHashesKey] as? [String : NSData] else {
@@ -213,6 +221,7 @@ internal extension NSManagedObjectModel {
// MARK: Private
@nonobjc
private var modelFileURL: NSURL? {
get {
@@ -221,6 +230,7 @@ internal extension NSManagedObjectModel {
}
}
@nonobjc
private var modelVersionFileURL: NSURL? {
get {
@@ -241,6 +251,7 @@ internal extension NSManagedObjectModel {
}
}
@nonobjc
private var entityNameMapping: [String: String] {
get {

View File

@@ -33,7 +33,8 @@ internal extension NSPersistentStore {
// MARK: Internal
@nonobjc internal var storageInterface: StorageInterface? {
@nonobjc
internal var storageInterface: StorageInterface? {
get {

View File

@@ -35,6 +35,7 @@ import CoreData
internal extension NSPersistentStoreCoordinator {
@nonobjc
internal func performAsynchronously(closure: () -> Void) {
#if USE_FRAMEWORKS
@@ -58,6 +59,7 @@ internal extension NSPersistentStoreCoordinator {
#endif
}
@nonobjc
internal func performSynchronously(closure: () -> Void) {
#if USE_FRAMEWORKS
@@ -78,6 +80,7 @@ internal extension NSPersistentStoreCoordinator {
#endif
}
@nonobjc
internal func performSynchronously<T>(closure: () throws -> T) throws -> T {
var closureError: ErrorType?
@@ -137,7 +140,8 @@ internal extension NSPersistentStoreCoordinator {
return result!
}
@nonobjc internal func addPersistentStoreSynchronously(storeType: String, configuration: String?, URL storeURL: NSURL?, options: [NSObject : AnyObject]?) throws -> NSPersistentStore {
@nonobjc
internal func addPersistentStoreSynchronously(storeType: String, configuration: String?, URL storeURL: NSURL?, options: [NSObject : AnyObject]?) throws -> NSPersistentStore {
var store: NSPersistentStore?
var storeError: NSError?

View File

@@ -47,7 +47,8 @@ public extension NSManagedObject {
// MARK: Internal
internal dynamic class func createInContext(context: NSManagedObjectContext) -> Self {
@nonobjc
internal class func createInContext(context: NSManagedObjectContext) -> Self {
return self.init(
entity: context.entityDescriptionForEntityType(self)!,
@@ -55,6 +56,7 @@ public extension NSManagedObject {
)
}
@nonobjc
internal func deleteFromContext() {
self.managedObjectContext?.deleteObject(self)