49 lines
1.4 KiB
Swift
49 lines
1.4 KiB
Swift
//
|
||
// MPCoreDataHandlerManager.swift
|
||
// MusicPlayer
|
||
//
|
||
// Created by Mr.Zhou on 2024/4/1.
|
||
//
|
||
|
||
import Foundation
|
||
import CoreData
|
||
|
||
///CoreData数据库处理器
|
||
class MPCoreDataHandlerManager {
|
||
//单例工具
|
||
static let shared = MPCoreDataHandlerManager()
|
||
//数据仓库
|
||
private lazy var persistentContainer: NSPersistentContainer = {
|
||
//数据仓库名为XXX.cdatamodeld中的XXX
|
||
let container = NSPersistentContainer(name: "MusicPlayer")
|
||
container.loadPersistentStores { (_, error) in
|
||
if let error = error {
|
||
//加载数据仓库失败
|
||
fatalError("Failed to load persistent stores: \(error)")
|
||
}else {
|
||
//加载数据仓库成功
|
||
print("Successfully to load persistent stores")
|
||
}
|
||
}
|
||
return container
|
||
}()
|
||
//托管(映射)对象空间
|
||
var context: NSManagedObjectContext {
|
||
return persistentContainer.viewContext
|
||
}
|
||
//保存对象空间
|
||
func saveContext() {
|
||
//检索对象空间是否进行了更新
|
||
if context.hasChanges {
|
||
do {
|
||
//保存对象空间
|
||
try context.save()
|
||
} catch {
|
||
//保存失败
|
||
let nserror = error as NSError
|
||
fatalError("Unresolved error \(nserror), \(nserror.userInfo)")
|
||
}
|
||
}
|
||
}
|
||
}
|