在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