0
私は自分のプロジェクトに.sqliteデータベースファイルをインポートしてCoreDataStackを作成しています。インポート可能な.sqlite永続ストアの名前はどのようにする必要がありますか?
func seedCoreDataContainerIfFirstLaunch() {
//1
let previouslyLaunched = UserDefaults.standard.bool(forKey: "previouslyLaunched")
if !previouslyLaunched {
UserDefaults.standard.set(true, forKey: "previouslyLaunched")
// Default directory where the CoreDataStore will store its files.
let directory = NSPersistentContainer.defaultDirectoryURL()
let url = directory.appendingPathComponent(modelName + ".sqlite")
//2: Copying the SQLite file
let seedDatabaseURL = Bundle.main.url(forResource: modelName , withExtension: "sqlite")!
print(seedDatabaseURL)
_ = try? FileManager.default.removeItem(at: url)
do {
try FileManager.default.copyItem(at: seedDatabaseURL, to: url)
} catch let nserror as NSError {
fatalError("Error: \(nserror), \(nserror.localizedDescription)")
}
// 3: Copying the SHM file
let seededSHMURL = Bundle.main.url(forResource: modelName , withExtension: "sqlite-shm")!
let shmURL = directory.appendingPathComponent(modelName + ".sqlite-shm")
_ = try? FileManager.default.removeItem(at: shmURL)
do {
try FileManager.default.copyItem(at: seededSHMURL, to: shmURL)
} catch let nserror as NSError {
fatalError("Error: \(nserror.localizedDescription)")
}
// 4: Copying the WAL file
let seededWALURL = Bundle.main.url(forResource: modelName , withExtension: "sqlite-wal")
let walURL = directory.appendingPathComponent(modelName + ".sqlite-wal")
_ = try? FileManager.default.removeItem(at: walURL)
do {
try FileManager.default.copyItem(at: seededWALURL!, to: walURL)
} catch let nserror as NSError {
fatalError("Error: \(nserror.localizedDescription)")
}
print("Seeded Core Data")
}
}
と私は私のxcdatamodeledファイルの名前と同じで、私の永続ストアに名前を付けなければならないのだろうか?もし私がしなければならない場合、私はどのように私のsecodpersistence店の名前を与える必要がありますか?
トムハリントン私はすでにあなたの助けを借りてこれをしています!ありがとうございました!!! –