0

I mit Feldern wie untenWie Coredata abzurufen, die einen Zustand schnellen 2

Breitengrad Längengrad Flag 54,1425 98,2564 0 52,1036 94,1458 3 51,1569 92,1458 3 50,1326 91,1458 3 56,1236 93,1458 0

eine DB haben erfüllt

ich brauche Datensätze abzurufen, die Flagge haben als 3.

let fetchRequest = NSFetchRequest() 

    let appDelegate = 
    UIApplication.sharedApplication().delegate as! AppDelegate 
    let managedContext = appDelegate.managedObjectContext 

    let entityDescription = NSEntityDescription.entityForName("TABLE_LOCATION", inManagedObjectContext: managedContext) 




    // Configure Fetch Request 
    fetchRequest.entity = entityDescription 


    do { 
     let result = try managedContext.executeFetchRequest(fetchRequest) 
     //print(result) 


    } catch { 
     let fetchError = error as NSError 
     print(fetchError) 
    } 

Alles, was ich den obigen Code ist haben das alle Datensätze aus der Tabelle abruft TABLE_LOCATION jeder Code oder jedes Arbeitsbeispiel wird sehr geschätzt

Vielen Dank!

Antwort

0

können Sie einen NSPredicate verwenden und an die fetchRequest gesetzt. Erstellen Sie ein NSPredicate, und legen Sie es auf die fetchRequest fest, bevor Sie die Abrufanforderung ausführen.

fetchRequest.predicate = NSPredicate(format: "flag = 3") 
+0

danke für die antwort ... es hat funktioniert – Carey

0

ändern Ihre Funktion:

func fetchDistinctDataUsingReq(predicate :NSPredicate) -> NSArray { 
    let fetchRequest = NSFetchRequest() 
    fetchRequest.predicate = predicate 
    //Rest of your code 
} 

nun diese Funktion aufrufen verwenden:

let predicate = NSPredicate(format: "flag == %@", 3) 
self.fetchDistinctDataUsingReq(predicate) 

Dies ist ein viel besserer Ansatz und kann über das Abrufen wieder verwendet werden. Zusätzlich können Sie die CoreData-Tabelle als Parameter zusammen mit dem Prädikat übergeben, um sie zu verallgemeinern.

+0

danke für die antwort ... es hat funktioniert – Carey