1

在 Objective-C 中,假设你有一个NSString包含以下内容:

NSString * boolStr = [NSString stringWithFormat:@"%@", "1 > 0"];

有没有办法评估 NSString 并获取字符串内容的布尔值?

4

1 回答 1

3

我假设你想评估一个实际的表达式。对于简单的表达式,您可以滥用 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

于 2013-06-04T00:22:09.217 回答