gpt4 book ai didi

ios - 如何在 Objective C 中使用 NSPredicate 指定范围

转载 作者:IT王子 更新时间:2023-10-29 06:31:39 28 4
gpt4 key购买 nike

我想通过指定范围查询sqllite表。所以这就像给我所有 ID 列在 3000 到 3010 之间的记录。

我尝试了 Apple 推荐的方法,但没有用。这是我尝试过但失败了的方法。

NSPredicate *betweenPredicate =
[NSPredicate predicateWithFormat: @"attributeName BETWEEN %@", @[@1, @10]];

我有 2 个字符串,分别称为开始和结束。我将 Apple 的示例更新如下。

NSPredicate *betweenPredicate =
[NSPredicate predicateWithFormat: @"%@ BETWEEN %@", columnName, @[start,end]];

当我使用上述谓词执行 FetchRequest 时,即使表中有与谓词匹配的记录,我也得到 0 条记录。有人可以指出我哪里出错了吗?

最佳答案

您必须对属性名称使用 %K 格式说明符:

[NSPredicate predicateWithFormat: @"%K BETWEEN %@", columnName, @[start,end]];

如果这不起作用(我从未对核心数据提取请求使用“BETWEEN”),您可以用等效的谓词替换它

[NSPredicate predicateWithFormat: @"%K >= %@ AND %K <= %@",
columnName, start, columnName, end];

关于ios - 如何在 Objective C 中使用 NSPredicate 指定范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18020234/

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