Можете ли вы оценить содержимое NSString и получить значение BOOL оцененного выражения?
В Objective-C, скажем, у вас есть NSString
содержащий следующее:
NSString * boolStr = [NSString stringWithFormat:@"%@", "1 > 0"];
Есть ли способ оценить NSString и получить логическое значение содержимого строки?
1 ответ
Я предполагаю, что вы хотите оценить фактическое выражение. Для простых выражений вы можете использовать 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