neo*_*neo 4 sqlite objective-c nspredicate ios
我想通过指定范围来查询sqllite表.所以这就像给我所有id列在3000到3010之间的记录.
我尝试了Apple推荐的产品,但它没有用.这是我尝试过但失败了.
NSPredicate *betweenPredicate =
[NSPredicate predicateWithFormat: @"attributeName BETWEEN %@", @[@1, @10]];
Run Code Online (Sandbox Code Playgroud)
我有两个名为start和end的字符串.我更新了Apple的示例如下.
NSPredicate *betweenPredicate =
[NSPredicate predicateWithFormat: @"%@ BETWEEN %@", columnName, @[start,end]];
Run Code Online (Sandbox Code Playgroud)
当我使用上面的谓词执行executeRequest时,我得到0条记录,即使该表具有与谓词匹配的记录.有人能说出错的地方吗?
您必须使用%K属性名称的格式说明符:
[NSPredicate predicateWithFormat: @"%K BETWEEN %@", columnName, @[start,end]];
Run Code Online (Sandbox Code Playgroud)
如果这不起作用(我从来没有使用"BETWEEN"用于核心数据获取请求),您可以用等效谓词替换它
[NSPredicate predicateWithFormat: @"%K >= %@ AND %K <= %@",
columnName, start, columnName, end];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2621 次 |
| 最近记录: |