gpt4 book ai didi

objective-c - NSPredicate 中的减法

转载 作者:行者123 更新时间:2023-12-04 05:12:52 25 4
gpt4 key购买 nike

我想要一个像这样的 NSPredicate:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(latitude - %@) < %@",coordsLatitude, kMaxLatLong];

我基本上想在 Core Data 中找到距离 userLocation 一定距离内的 GPS 坐标。 .
  • latitude是每个gps实体的纬度属性。
  • coordsLatitude是 userLocation 的纬度。
  • kMaxLatLong设置为 1

  • 我收到了 EXC_BAD_ACCESS用这条线。我认为这是由于我的谓词格式不正确,特别是减法运算符。但是,我找不到任何说明如何对 NSPredicates 或 NSExpressions 使用减法的内容。

    最佳答案

    我会反过来做。

    计算出最小和最大纬度,然后使用谓词查找两者之间的所有内容。


    float coordsLatitude = //whatever

    float minLatitude = coordsLatitude - kMaxLatLong;
    float maxLatitude = coordsLatitude + kMaxLatLong;

    NSPredicate *minPredicate = [NSPredicate predicateWithFormat:@"latitude >= %f", minLatitude];
    NSPredicate *maxPredicate = [NSPredicate predicateWithFormat:@"latitude <= %f", maxLatitude];

    NSPredicate *compoundPredicate = [NSCompoundPredicate andPredicateWithSubPredicates:@[minPredicate, maxPredicate]];

    然后在您的获取请求中使用复合谓词。

    关于objective-c - NSPredicate 中的减法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14666161/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com