0

У меня есть БД с полями, как показано нижеКак получить CoreData, которое удовлетворяет условию стрижа 2

Широта Долгота Флаг 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

мне нужно, чтобы получить записи, которые имеют флаг как 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) 
    } 

Все, что я имею выше код который извлекает все записи из таблицы TABLE_LOCATION, любой код или рабочий пример очень ценится

Спасибо!

ответ

0

Вы можете использовать NSPredicate и установить его на fetchRequest. Создайте NSPredicate и установите его в fetchRequest перед выполнением запроса на выборку.

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

спасибо за ответ ... он работал – Carey

0

Изменение Ваша функция:

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

Теперь вызвать эту функцию с помощью:

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

Это гораздо лучше подход и может быть использован повторно через выборку. Кроме того, вы можете передать таблицу CoreData в качестве параметра вместе с предикатом, чтобы обобщить его.

+0

спасибо за ответ ... он работал – Carey

Смежные вопросы