crossmate

A collaborative crossword app for iOS
Log | Files | Refs | LICENSE

SyncState+Helpers.swift (620B)


      1 import CloudKit
      2 import CoreData
      3 import Foundation
      4 
      5 extension SyncStateEntity {
      6     /// Returns the singleton sync-state row, creating it on first access.
      7     static func current(in context: NSManagedObjectContext) -> SyncStateEntity {
      8         let request = NSFetchRequest<SyncStateEntity>(entityName: "SyncStateEntity")
      9         request.predicate = NSPredicate(format: "id == 0")
     10         request.fetchLimit = 1
     11 
     12         if let existing = try? context.fetch(request).first {
     13             return existing
     14         }
     15 
     16         let entity = SyncStateEntity(context: context)
     17         entity.id = 0
     18         return entity
     19     }
     20 
     21 }