Swift/Cloudkit谓词格式

Swift/Cloudkit谓词格式,swift,nspredicate,cloudkit,Swift,Nspredicate,Cloudkit,我正在尝试使用存储在CloudKit数据库中的坐标编写谓词。在格式化过程中,我很难找到任何准确的文档。以下是我的想法: NSPredicate(format: "distanceToLocation:fromLocation: (%K,%@) < 1000", "locationcoordinates") NSPredicate(格式:“距离到位置:从位置:(%K,%@)

我正在尝试使用存储在CloudKit数据库中的坐标编写谓词。在格式化过程中,我很难找到任何准确的文档。以下是我的想法:

NSPredicate(format: "distanceToLocation:fromLocation: (%K,%@) < 1000", "locationcoordinates")
NSPredicate(格式:“距离到位置:从位置:(%K,%@)<1000”,“位置坐标”)
我得到以下错误:

由于未捕获的异常“CKException”而终止应用程序,原因:“distanceToLocation:fromLocation:的CLLocation参数应为”


有人能帮我纠正这个谓词吗?我不确定需要添加什么参数。

在谓词中有两个参数。%K和%@但只提供1个值

应该是这样的

    var location:CLLocation = CLLocation(latitude: 0, longitude: 0)
    var radiusInKilometers:CGFloat = 1000;
    var predicate: NSPredicate = NSPredicate(format: "distanceToLocation:fromLocation:(location, %@) < %f", location, radiusInKilometers)!
var-location:CLLocation=CLLocation(纬度:0,经度:0)
var辐射式流量计:CGFloat=1000;
变量谓词:NSPredicate=NSPredicate(格式:“distanceToLocation:fromLocation:(location,%@)<%f”,location,radiusInKilometers)!

因此,在swift中,我将其组合在一起
让位置:CLLocation!NSPredicate(格式:“distanceToLocation:fromLocation:(%K,%@)<1000”,“locationcoordinates”,location)
现在位置一直返回零。我用坐标为0,0的CLLocation更新了答案。你必须输入你自己的坐标。(取决于您要搜索的位置)