核心数据在哪里节省?

时间:2016-11-16 13:01:53

标签: swift sqlite core-data

我使用此代码初始化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 文件?

1 个答案:

答案 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
    // ...
}