我希望通过指定范围来查询sqllite表。就像是给我所有id列在3000和3010之间的记录。
我尝试了苹果推荐的方法,但并没有成功。以下是我尝试但失败的内容。
NSPredicate *betweenPredicate =
[NSPredicate predicateWithFormat: @"attributeName BETWEEN %@", @[@1, @10]];
我有两个字符串,一个称为“start”,另一个称为“end”。我按照以下方式更新了苹果的示例。
NSPredicate *betweenPredicate =
[NSPredicate predicateWithFormat: @"%@ BETWEEN %@", columnName, @[start,end]];
当我使用上述谓词执行executeFetchRequest时,尽管表中有与该谓词匹配的记录,但我却得到了0条记录。有人能指出我的错误所在吗?
BETWEEN
在 Core Data 中的使用非常完美:%K BETWEEN { %f , %f }
,并且比%K <= %f && %K >= %f
快约 10 倍。这里是苹果开发者文档中关于谓词格式的链接:Predicate Formatting guide。 - Neimsz