2015-02-23 60 views
2

我想使用存储在CloudKit数据库中的坐标编写谓词。我正在努力寻找任何准确的文件来格式化它的方式。这里是我想出:Swift/Cloudkit谓词格式

NSPredicate(format: "distanceToLocation:fromLocation: (%K,%@) < 1000", "locationcoordinates") 

我收到以下错误:

终止应用程序由于未捕获的异常“CKException”,理由是:“对distanceToLocation预计CLLocation说法:fromLocation:”

任何人都可以帮助我纠正这个谓词吗?我不确定我需要添加什么参数。

回答

2

在你的谓词中有2个参数。 %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)! 
+0

所以迅速,我把这个一起 '让位置:CLLocation! NSPredicate(格式:“distanceToLocation:fromLocation:(%K,%@)<1000”,“locationcoordinates”,location)' 现在位置不断回来nil。 – 2015-02-23 14:45:26

+0

我用坐标为0,0的CLLocation更新了答案。你必须输入你自己的坐标。 (取决于你想要搜索的地方) – 2015-02-23 14:47:50