import CoreData
import Foundation
class CunoPDFDataHelper {
static let shared = CunoPDFDataHelper()
private lazy var persistentContainer: NSPersistentContainer = {
let container = NSPersistentContainer(name: "CunoDatabase")
container.loadPersistentStores(completionHandler: { (storeDescription, error) in
if let error = error as NSError? {
fatalError("Unresolved error \(error), \(error.userInfo)")
}
})
return container
}()
// 增
@discardableResult
func insert(file_name: String,
date: Date = Date(),
isDefault: Bool = false) -> NSManagedObjectID {
let context = persistentContainer.viewContext
let model = CunoPDFModel(context: context)
model.date = date
model.isDefault = isDefault
model.file_name = file_name
// save
do {
try context.save()
print("Saved successfully!")
return model.objectID
} catch {
fatalError("Could not save:\(error)")
}
}
// 查所有
func values() -> [CunoPDFModel] {
let context = persistentContainer.viewContext
let fetchRequest = CunoPDFModel.fetchRequest()
do {
return try context.fetch(fetchRequest).reversed()
} catch {
return []
}
}
// 查單個
func value(id: NSManagedObjectID) -> CunoPDFModel? {
let context = persistentContainer.viewContext
do {
return try context.existingObject(with: id) as? CunoPDFModel
} catch {
return nil
}
}
// 刪 根據(jù)模型
func remove(model: CunoPDFModel) {
let context = persistentContainer.viewContext
context.delete(model)
do {
try context.save()
} catch {
print("Remove failed.\(model.self)")
}
}
// 刪 根據(jù)NSManagedObjectID
func delete(id: NSManagedObjectID) {
let context = persistentContainer.viewContext
do {
guard let model = try context.existingObject(with: id) as? CunoPDFModel else { return }
context.delete(model)
try context.save()
} catch {
print("Deletion failed.")
}
}
// 改
func update(id: NSManagedObjectID, file_name: String) {
let context = persistentContainer.viewContext
do {
if let model = try context.existingObject(with: id) as? CunoPDFModel {
model.file_name = file_name
try context.save()
}
} catch {
print("Update failed")
}
}
}
Swift Coredata 基礎(chǔ)操作
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 基礎(chǔ)操作 1、新建個項(xiàng)目,項(xiàng)目名稱NoteList,勾選CoreData選項(xiàng) (1)新建個project (2)選...
- -barButtonItemClicked方法里 //Class NSEntityDescription*clas...
- 東風(fēng)不與周郎便,銅雀春深鎖二喬!<太陽珊瑚> CoreData 數(shù)據(jù)持久化框架是Cocoa API的一部分,它允...
- Swift服務(wù)端開發(fā)系列完整版 一、git拉取主分支最新代碼 git官方使用文檔 1、推薦指令:git強(qiáng)制覆蓋本地...