Swift / Cloudkit 谓词格式
Posted
技术标签:
【中文标题】Swift / Cloudkit 谓词格式【英文标题】:Swift / Cloudkit predicate format 【发布时间】:2015-02-23 14:21:35 【问题描述】:我正在尝试使用存储在 CloudKit 数据库中的坐标来编写谓词。我正在努力寻找有关格式化它的任何准确文档。这是我想出的:
NSPredicate(format: "distanceToLocation:fromLocation: (%K,%@) < 1000", "locationcoordinates")
我收到以下错误:
由于未捕获的异常“CKException”而终止应用程序,原因:“距离到位置的预期 CLLocation 参数:fromLocation:”
谁能帮我纠正这个谓词?我不确定我需要添加什么参数。
【问题讨论】:
【参考方案1】:在您的谓词中,您有 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)!
【讨论】:
所以我很快就把它放在一起let location:CLLocation! NSPredicate(format: "distanceToLocation:fromLocation: (%K,%@) < 1000", "locationcoordinates", location)
现在位置一直返回为零。
我用坐标为 0,0 的 CLLocation 更新了答案。您必须为此输入自己的坐标。 (取决于您要搜索的位置)以上是关于Swift / Cloudkit 谓词格式的主要内容,如果未能解决你的问题,请参考以下文章
在 SWIFT 的谓词中使用“timeIntervalSinceNow”
如何在 Swift 中使用“IN”谓词进行 ckQuery?