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

ios – 如何在Objective C中使用NSPredicate指定范围,第1张

概述我想通过指定范围来查询sqllite表.所以这就像给我所有id列在3000到3010之间的记录. 我尝试了Apple推荐的产品,但它没有用.这是我尝试过但失败了. NSPredicate *betweenPredicate =[NSPredicate predicateWithFormat: @"attributeName BETWEEN %@", @[@1, @10]]; 我有两个名为star 我想通过指定范围来查询sqllite表.所以这就像给我所有ID列在3000到3010之间的记录.

我尝试了Apple推荐的产品,但它没有用.这是我尝试过但失败了.

nspredicate *betweenPredicate =[nspredicate predicateWithFormat: @"attributename BETWEEN %@",@[@1,@10]];

我有两个名为start和end的字符串.我更新了Apple的示例如下.

nspredicate *betweenPredicate =[nspredicate predicateWithFormat: @"%@ BETWEEN %@",columnname,@[start,end]];

当我使用上面的谓词执行executeRequest时,我得到0条记录,即使该表具有与谓词匹配的记录.有人能说出错的地方吗?

解决方法 您必须为属性名称使用%K格式说明符:

[nspredicate predicateWithFormat: @"%K BETWEEN %@",end]];

如果这不起作用(我从来没有使用“BETWEEN”用于核心数据获取请求),那么
可以用等效的谓词代替它

[nspredicate predicateWithFormat: @"%K >= %@ AND %K <= %@",start,end];
总结

以上是内存溢出为你收集整理的ios – 如何在Objective C中使用NSPredicate指定范围全部内容,希望文章能够帮你解决ios – 如何在Objective C中使用NSPredicate指定范围所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1076495.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存