Swift Core Data - Request with distinct results

前端 未结 3 1141
天涯浪人
天涯浪人 2021-01-03 03:08

how I can call es request with distinct values in swift?

This is my code:

let appDelegate: AppDelegate = UIApplication.sharedApplication().delegate a         


        
3条回答
  •  长情又很酷
    2021-01-03 03:31

    NSPredicate will allow you to search for specific values and retrieve only the data you need from core data:

      var StoredResults = [NSManagedObject]()
    
      func fetchRequest(docID : String ){
    
            let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
            let managedContext = appDelegate.managedObjectContext
            let request = NSFetchRequest(entityName: "EntityContainingDocID")
    
            let predicate =  NSPredicate(format:"docID == %@", docID)
            request.predicate = predicate
    
        do {
            let results =
            try managedContext.executeFetchRequest(request)
    
            StoredResults = results as! [NSManagedObject]
    
            } catch let error as NSError {
                  print(" error executing fetchrequest  ", error)
            }
        }
    

    In this example we are only looking to return specific values matching a string in the "docID" column but NSPredicate is a handy way of building SQL-like queries into your code and is pretty flexible.

提交回复
热议问题