init(persistentStoreCoordinator:configurationName:at:options:)
Creates an atomic store at the specified location.
Declaration
init(persistentStoreCoordinator coordinator: NSPersistentStoreCoordinator?, configurationName: String?, at url: URL, options: [AnyHashable : Any]? = nil)Parameters
- coordinator:
The persistent store coordinator.
- configurationName:
The name of the store’s configuration in the managed object model.
- url:
The URL of the store to load. This value can’t be
nil. - options:
A dictionary that contains the store’s options. For possible values, see Store Options.
Discussion
Typically, you don’t invoke this method yourself; instead, the persistent store coordinator invokes the method when it creates a new store or adds an existing one.
In your implementation, check whether a file exists at url. If it doesn’t exist, create a zero-length file at url so that the file exists before the coordinator calls the store’s load() method. A zero-length file indicates to the system that it should create a new store at that location. If the coordinator removes the store without first calling save(), delete the zero-length file.
It’s your responsibility to load the store’s metadata during initialization and set it using the setMetadata(_:forPersistentStoreAt:) method.