DosingDecisionObject+CoreDataClass.swift 771 B

12345678910111213141516171819202122232425262728
  1. //
  2. // DosingDecisionObject+CoreDataClass.swift
  3. // LoopKit
  4. //
  5. // Created by Darin Krauss on 5/4/20.
  6. // Copyright © 2020 LoopKit Authors. All rights reserved.
  7. //
  8. import CoreData
  9. public class DosingDecisionObject: NSManagedObject {
  10. var hasUpdatedModificationCounter: Bool { changedValues().keys.contains("modificationCounter") }
  11. func updateModificationCounter() { setPrimitiveValue(managedObjectContext!.modificationCounter!, forKey: "modificationCounter") }
  12. public override func awakeFromInsert() {
  13. super.awakeFromInsert()
  14. updateModificationCounter()
  15. }
  16. public override func willSave() {
  17. if isUpdated && !hasUpdatedModificationCounter {
  18. updateModificationCounter()
  19. }
  20. super.willSave()
  21. }
  22. }