在 Objective-C 中,假设你有一个NSString
包含以下内容:
NSString * boolStr = [NSString stringWithFormat:@"%@", "1 > 0"];
有没有办法评估 NSString 并获取字符串内容的布尔值?
在 Objective-C 中,假设你有一个NSString
包含以下内容:
NSString * boolStr = [NSString stringWithFormat:@"%@", "1 > 0"];
有没有办法评估 NSString 并获取字符串内容的布尔值?
我假设你想评估一个实际的表达式。对于简单的表达式,您可以滥用 NSPredicate 来执行此操作,例如:
NSPredicate *predicate1=[NSPredicate predicateWithFormat:@"1>0"];
NSPredicate *predicate2=[NSPredicate predicateWithFormat:@"1<0"];
BOOL ok1=[predicate1 evaluateWithObject:nil];
BOOL ok2=[predicate2 evaluateWithObject:nil];
NSLog(@"ok1: %d ok2: %d",ok1,ok2);
这将打印:ok1: 1 ok2: 0