gpt4 book ai didi

iphone - 核心数据 ANY BETWEEN 谓词

转载 作者:行者123 更新时间:2023-12-03 19:05:49 36 4
gpt4 key购买 nike

我正在尝试创建一个 NSPredicate 来查找在特定日期范围内包含“ session ”的“项目”。我一开始尝试过这个:

[NSPredicate predicateWithFormat:@"ANY sessions.date BETWEEN {$STARTDATE, $ENDDATE}"];

但我遇到了一个异常(exception):

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:
'to-many key not allowed here'

看起来 BETWEEN 不能以这种方式与 ANY 一起使用。我也限制使用 () 和 AND 子句,这意味着我不能使用类似的内容:

[NSPredicate predicateWithFormat:@"ANY (sessions.date > $STARTDATE && sessions.date < $ENDDATE)"];

如果我尝试这样做,就会出现解析错误。当然,sessions.date 实际上是一个集合,因此像这样进行 AND 运算并没有多大意义。

我该怎么做?

谢谢

更新:请注意:

[NSPredicate predicateWithFormat:@"ANY sessions.date > $STARTDATE && ANY sessions.date < $ENDDATE"];

不正确,因为它返回一个项目,其中有一个 session 大于开始日期,另一个 session 小于结束日期,但中间没有 session 。

最佳答案

我认为在这种情况下您需要 SUBQUERY表达式:

[NSPredicate predicateWithFormat:@"SUBQUERY(sessions, $s, $s.date BETWEEN {$STARTDATE, $ENDDATE}).@count > 0"];

关于iphone - 核心数据 ANY BETWEEN 谓词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2630633/

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