我正在编写一个方法在我的视图控制器中,代码如下:
在.h文件和.m文件中都要进行修改:
为什么会出现“CalculatorBrain中没有可见@interface声明选择器'evaluateExpression:usingVariableValues”的错误?我是objective-c的新手,但我想这意味着它没有看到我的声明。不过我不确定是否存在语法/格式问题,因为我是这种语言的新手。
- (IBAction)expressionEvaluation:(UIButton *)sender {
NSDictionary *testValues = [NSDictionary dictionaryWithObjectsAndKeys:@"x", 2, @"y", 3, @"z", 4, nil];
//the below line gives the error
double result = [self.brain evaluateExpression:self.brain.expression usingVariableValues:testValues];
NSString *resultString = [NSString stringWithFormat:@"%g", result];
self.display.text = resultString;
}
在我的“brain”类中,我声明了尚未完成的方法:
#import <Foundation/Foundation.h>
@interface CalculatorBrain : NSObject
- (void) pushOperand:(double)operand;
- (void) setVariableAsOperand:(NSString *)variableName;
- (void) performWaitingOperation;
- (double) performOperation:(NSString *)operation;
@property (readonly) id expression;
+ (double)evaluateExpression: (id)anExpression
usingVariableValues: (NSDictionary *)variables; //declared here
@end
在.h文件和.m文件中都要进行修改:
+ (double) evaluateExpression:(id)anExpression usingVariableValues:(NSDictionary *)variables {
double result = 0;
int count = [anExpression count];
for (int i = 0; i < count; i++) {
}
return result;
}
为什么会出现“CalculatorBrain中没有可见@interface声明选择器'evaluateExpression:usingVariableValues”的错误?我是objective-c的新手,但我想这意味着它没有看到我的声明。不过我不确定是否存在语法/格式问题,因为我是这种语言的新手。