WIP: object concurrency debugging utilities

This commit is contained in:
John Estropia
2017-02-02 19:53:47 +09:00
parent 7b961fa249
commit 69d96c53d6
6 changed files with 276 additions and 0 deletions

View File

@@ -59,6 +59,8 @@ public final class DataStack: Equatable {
*/
public required init(model: NSManagedObjectModel, migrationChain: MigrationChain = nil) {
_ = DataStack.isGloballyInitialized
CoreStore.assert(
migrationChain.valid,
"Invalid migration chain passed to the \(cs_typeName(DataStack.self)). Check that the model versions' order is correct and that no repetitions or ambiguities exist."
@@ -499,6 +501,12 @@ public final class DataStack: Equatable {
// MARK: Private
private static let isGloballyInitialized: Bool = {
NSManagedObject.cs_swizzleMethodsForLogging()
return true
}()
private var configurationStoreMapping = [String: NSPersistentStore]()
private var entityConfigurationsMapping = [String: Set<String>]()