ios - porque - core data tutorial swift 4
NSPersistentContainer equivalente para NSPersistentStoreCoordinator.addPersistentStore ofType y opciones (1)
En WWDC2016 Apple presenta NSPersistentContainer
para iOS10
La clase NSPersistentContainer se encarga de cargar el modelo de datos, crear un modelo de objetos gestionados y usarlo para crear un NSPersistentStoreCoordinator.
Su inicialización es realmente fácil:
let container = NSPersistentContainer(name: "myContainerName")
container.loadPersistentStores(completionHandler: { /* ... handles the error ... */ })
Previamente, en la creación de la pila CoreData configuramos el NSPersistentStoreCoordinator
añadiendo un PersistentStore en particular con "ofType" y "storeOptions"
let psc = NSPersistentStoreCoordinator(managedObjectModel: mom)
psc.addPersistentStore(ofType: NSSQLiteStoreType, configurationName: nil, at: storeURL, options: [NSPersistentStoreFileProtectionKey:FileProtectionType.complete, NSMigratePersistentStoresAutomaticallyOption: true] as [NSObject : AnyObject])
usando en este caso
NSSQLiteStoreType
for ofType parameter
y
[NSPersistentStoreFileProtectionKey:FileProtectionType.complete, NSMigratePersistentStoresAutomaticallyOption: true]
para el parámetro de opciones
¿Cómo puedo configurar este tipo de cosas usando NSPersistentContainer
?
let description = NSPersistentStoreDescription()
description.shouldInferMappingModelAutomatically = true
description.shouldMigrateStoreAutomatically = true
description.setOption(FileProtectionType.complete, forKey: NSPersistentStoreFileProtectionKey)
container.persistentStoreDescriptions = [description]