gpt4 book ai didi

core-data - NSPredicate 中使用的 SUBQUERY( ) 是否不支持所有集合运算符,如@max、@min?

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

我修改了 Apple 开发者网站上的一个示例 CoreDataBooks,并添加了一个属性 num,它是实体 Book 中的一个整数。

NSPredicate *predicate = [NSPredicate predicateWithFormat:"SUBQUERY(book, $b, $b.author == self.author).@min.num == self.num"];

我使用这个 NSPredicate 来获取它的元素 num 是所有同一作者的书中的最小值的书,但是我得到这个错误:

'NSInvalidArgumentException', reason: 'Unsupported KVC function in trailing keypath SUBQUERY(book, $b, $b.author == author), @min.num'

我想知道子查询是否不支持 @max@min 或者我的谓词有问题。

最佳答案

SUBQUERY 结果应支持所有集合键路径运算符,或者至少文档如此建议。

错误消息似乎表明您代码中的谓词中有一个逗号。难道只是被框架修改了?

“@min”返回一个数字。您向它请求的“.num”键是什么?某种自定义属性? NSNumber 是否通过类别支持它?不然我认不出来。您不需要(也不应该尝试)将 NSNumber 对象转换为原始 C 类型或类似的东西。

你有没有试过类似这样的东西:

“self.num == SUBQUERY(book, $b, $b.author == self.author).@min” ?

关于core-data - NSPredicate 中使用的 SUBQUERY( ) 是否不支持所有集合运算符,如@max、@min?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12214225/

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