NSNumber *testNumber = @123;
// =,==:判断两个表达式是否相等,
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF = 123"];
NSLog(@"%@ vs 123: %@", testNumber, ([predicate evaluateWithObject:testNumber] ? @"相等" : @"不相等"));
// >=,=>:判断左边表达式的值是否大于或等于右边表达式的值
predicate = [NSPredicate predicateWithFormat:@"SELF >= 200"];
NSLog(@"%@ vs 200: %@", testNumber, ([predicate evaluateWithObject:testNumber] ? @"大于等于" : @"小于"));
// <=,=<:判断右边表达式的值是否小于或等于右边表达式的值
predicate = [NSPredicate predicateWithFormat:@"SELF <= 150"];
NSLog(@"%@ vs 150: %@", testNumber, ([predicate evaluateWithObject:testNumber] ? @"小于等于" : @"大于"));
// >:判断左边表达式的值是否大于右边表达式的值
predicate = [NSPredicate predicateWithFormat:@"SELF > 123"];
NSLog(@"%@ vs 123: %@", testNumber, ([predicate evaluateWithObject:testNumber] ? @"大于" : @"小于等于"));
// <:判断左边表达式的值是否小于右边表达式的值
predicate = [NSPredicate predicateWithFormat:@"SELF < 123"];
NSLog(@"%@ vs 123: %@", testNumber, ([predicate evaluateWithObject:testNumber] ? @"小于" : @"大于等于"));
// !=、<>:判断两个表达式是否不相等
predicate = [NSPredicate predicateWithFormat:@"SELF != 123"];
NSLog(@"%@ vs 123: %@", testNumber, ([predicate evaluateWithObject:testNumber] ? @"不相等" : @"相等"));
// BETWEEN:BETWEEN表达式必须满足表达式 BETWEEN {下限,上限}的格式,要求该表达式必须大于或等于下限,并小于或等于上限
predicate = [NSPredicate predicateWithFormat:@"SELF BETWEEN {100, 200}"];
NSLog(@"%@ vs {100, 200}: %@", testNumber, ([predicate evaluateWithObject:testNumber] ? @"包含" : @"不包含"));
运行结果
2018-03-05 15:28:23.701 DemoNSPredicate[2472:315182] 123 vs 123: 相等
2018-03-05 15:28:23.701 DemoNSPredicate[2472:315182] 123 vs 200: 小于
2018-03-05 15:28:23.701 DemoNSPredicate[2472:315182] 123 vs 150: 小于等于
2018-03-05 15:28:23.701 DemoNSPredicate[2472:315182] 123 vs 123: 小于等于
2018-03-05 15:28:23.702 DemoNSPredicate[2472:315182] 123 vs 123: 大于等于
2018-03-05 15:28:23.702 DemoNSPredicate[2472:315182] 123 vs 123: 相等
2018-03-05 15:28:23.702 DemoNSPredicate[2472:315182] 123 vs {100, 200}: 包含
2018-03-05 15:28:23.702 DemoNSPredicate[2472:315182] 123 vs 251: 不相等