2013-02-26 2 views
0

У меня есть массив, который я хочу проверить: {"2", "+", "3", "=", " 5 "}Нет видимого @interface для 'DDExpression' объявляет селектор «errorWithSubstitutions: error:» error

Итак, как бы я это сделал? Я нашел DDMathParser и теоретически я смог бы подтвердить свое выражение следующим образом:

NSString *expression = [array componentsJoinedByString:@""]; 


NSError *error = nil; 
DDExpression *e = [DDExpression expressionFromString:expression error:&error]; 
if (error == nil) { 
    NSLog(@"parsed: %@", e); 
    NSNumber * result = [e evaluateWithSubstitutions:expression error:&error]; 
    //error: No visible @interface for 'DDExpression' declares the selector 'evaluateWithSubstitutions:error:' 
} 

Любые мысли, почему? Я должен упомянуть, что этот метод находится внутри моего синглтона, но когда я переместил его на мой контроллер, ошибка контроллера осталась.

+0

Вы добавили 'DDExpression.m' к вашей цели? Импортировали 'DDExpression.h' или просто использовали объявление прямого класса (' @ class')? –

+0

@MikeD: Я использовал #import "DDMathParser.h" – Vad

ответ

2

Предполагая, что вы используете this project (ссылка GiHub), я не видел метода evaluateWithSubstitutions:error:.

Из проекта GitHub, это выглядит как метод полной подписи (source, строка 33):

- (NSNumber *) evaluateWithSubstitutions:(NSDictionary *)substitutions evaluator:(DDMathEvaluator *)evaluator error:(NSError **)error; 
Смежные вопросы