BFCoreDataModel.swift 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. //
  2. // BFCoreDataModel.swift
  3. // BFFramework
  4. //
  5. // Created by 胡志强 on 2021/11/12.
  6. //
  7. import Foundation
  8. import CoreData
  9. let persistentContext = BFDataPersistentManager.shared.persistentContainer.viewContext
  10. open class BFCoreDataModel: NSObject, NSFetchRequestResult {
  11. public class func createModel(modelName:String) -> AnyObject {
  12. return NSEntityDescription.insertNewObject(forEntityName: modelName, into: persistentContext)
  13. }
  14. public func save(){
  15. do {
  16. try persistentContext.save()
  17. } catch {
  18. fatalError("不能保存:\(error)")
  19. }
  20. }
  21. public class func getList(fetchRequest:NSFetchRequest<NSFetchRequestResult>) -> [NSFetchRequestResult]?{
  22. do {
  23. let fetchedObjects = try persistentContext.fetch(fetchRequest)
  24. return fetchedObjects as? [NSFetchRequestResult]
  25. }
  26. catch {
  27. fatalError("不能保存:\(error)")
  28. }
  29. }
  30. public func deleteMode(fetchRequest:NSFetchRequest<NSFetchRequestResult>){
  31. do{
  32. let fetchedObjects = try persistentContext.fetch(fetchRequest)
  33. for info in fetchedObjects{
  34. persistentContext.delete(info as! NSManagedObject)
  35. }
  36. try! persistentContext.save()
  37. }catch {
  38. fatalError("不能保存:\(error)")
  39. }
  40. }
  41. }