【问题标题】:Swift / Cloudkit predicate formatSwift / Cloudkit 谓词格式
【发布时间】:2015-02-23 14:21:35
【问题描述】:

我正在尝试使用存储在 CloudKit 数据库中的坐标来编写谓词。我正在努力寻找有关格式化它的任何准确文档。这是我想出的:

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

我收到以下错误:

由于未捕获的异常“CKException”而终止应用程序,原因:“距离到位置的预期 CLLocation 参数:fromLocation:”

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

【问题讨论】:

    标签: swift nspredicate cloudkit


    【解决方案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,%@) &lt; 1000", "locationcoordinates", location) 现在位置一直返回为零。
    • 我用坐标为 0,0 的 CLLocation 更新了答案。您必须为此输入自己的坐标。 (取决于您要搜索的位置)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多