2016-11-16 7 views
0

Ich benutze diesen Code Core Data zu initialisieren:Wo Kerndaten gespeichert werden?

import Cocoa 
import CoreData 

class DataController: NSObject { 
    var persistentContainer: NSPersistentContainer! 
    var context: NSManagedObjectContext! 

    override init() { 
     persistentContainer = NSPersistentContainer(name: "Highlightings") 
     persistentContainer.loadPersistentStores(completionHandler: { (storeDescription, error) in 
      if let error = error as NSError? { 
       fatalError("Unresolved error \(error), \(error.userInfo)") 
      } 
     }) 
     context = persistentContainer.viewContext 
    } 
} 

Wie kann ich eine .sqlite Datei angeben, in dem Core Data Daten speichern soll?

Antwort

1

Sie könnte zurück zu dem älteren Ansatz ohne NSPersistentContainer gehen. Die alte API wurde nicht veraltet. Wenn Sie NSPersistentContainer verwenden, können Sie den Speicherort mit NSPersistentStoreDescription ändern. Etwas wie

let container = NSPersistentContainer(name: "ContinerName") 

let storeURL = // Initialize to whatever URL you want 
let description = NSPersistentStoreDescription(url: storeURL) 

container.persistentStoreDescriptions = [ description ] 

container.loadPersistentStores(completionHandler: { (storeDescription, error) in 
    // ... 
} 
+0

Mit dem neuen Ansatz befindet sich die .sqlite-Datei in ~/Library/Application Support/YOURAPPNAME / – Nisba

Verwandte Themen