Refetch monitors when persistent stores are added/removed. Allow unsafe transactions to create their own monitors

This commit is contained in:
John Rommel Estropia
2016-02-15 07:56:17 +09:00
parent e58b3b0131
commit 8efd6572f0
11 changed files with 534 additions and 62 deletions

View File

@@ -367,11 +367,12 @@ public final class DataStack {
self.configurationStoreMapping[configurationName] = persistentStore
for entityDescription in (self.coordinator.managedObjectModel.entitiesForConfiguration(configurationName) ?? []) {
if self.entityConfigurationsMapping[entityDescription.managedObjectClassName] == nil {
let managedObjectClassName = entityDescription.managedObjectClassName
if self.entityConfigurationsMapping[managedObjectClassName] == nil {
self.entityConfigurationsMapping[entityDescription.managedObjectClassName] = []
self.entityConfigurationsMapping[managedObjectClassName] = []
}
self.entityConfigurationsMapping[entityDescription.managedObjectClassName]?.insert(configurationName)
self.entityConfigurationsMapping[managedObjectClassName]?.insert(configurationName)
}
}
}