Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检索满足条件swift 2的CoreData_Swift_Core Data_Swift2_Nsfetchrequest_Executefetchrequest - Fatal编程技术网

如何检索满足条件swift 2的CoreData

如何检索满足条件swift 2的CoreData,swift,core-data,swift2,nsfetchrequest,executefetchrequest,Swift,Core Data,Swift2,Nsfetchrequest,Executefetchrequest,我有一个具有如下字段的DB 经纬旗 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.sharedApplic

我有一个具有如下字段的DB

经纬旗 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)
    }
我所拥有的就是上面从表位置检索所有记录的代码,非常感谢任何代码或工作示例


谢谢

您需要向fetchRequest添加NSPredicate


您需要向fetchRequest添加NSPredicate


您可以使用NSPredicate并将其设置为fetchRequest。创建NSPredicate并在执行fetch请求之前将其设置为fetch请求

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

您可以使用NSPredicate并将其设置为fetchRequest。创建NSPredicate并在执行fetch请求之前将其设置为fetch请求

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

将您的功能更改为:

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表作为参数与谓词一起传递,以对其进行泛化

将您的功能更改为:

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表作为参数与谓词一起传递,以对其进行泛化