我使用此代码初始化Core Data:
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
}
}
如何指定核心数据应保存数据的 .sqlite 文件?
答案 0 :(得分:1)
可以在没有NSPersistentContainer
的情况下返回旧方法。旧的API尚未弃用。
如果您正在使用NSPersistentContainer
,则可以使用NSPersistentStoreDescription
更改商店位置。像
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
// ...
}