嗨,我在 graphPoint.y 代码部分收到错误“'CalculatorBrain' 没有可见的@interface 声明选择器'runprogram:usingVariableValues:'”
-(id) programToGraph:(GraphingView *)sender{
CGPoint graphPoint;
for( int x =-100;x<100; x++)
{
NSDictionary* xValue = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:x] forKey:@"X", nil];
graphPoint.x =x;
//error occurs here
graphPoint.y = [self.graphingPoint runProgram: [self.graphingPoint program] usingVariableValues:xValue];
}
}
我通过 segue 和协议传递了 self.graphingPoint,因此它与位于不同 MVC 中并调用 runprogram:usingVariableValues 的对象“CalculatorBrain”具有相同的值。我对calculatorBrain 的实现具有上述方法并在它自己的viewController 中工作,但是当我通过协议方法在这个新的viewController 中调用它时,它说我没有在CalculatorBrain 中声明它。这是原始声明
@interface CalculatorBrain : NSObject
- (void)pushOperand:(double)operand;
- (double)performOperation:(NSString *)op;
@property (nonatomic, readonly) id program;
+ (NSString *)descriptionOfProgram:(id)program;
+ (double)runProgram:(id)program usingVariableValues: (NSDictionary*) variableValues;
@property (nonatomic, strong) NSDictionary* testVariableValues;
- (void) testValue : (NSString*) test;
-(void) variablePressed:(NSString*) variable;
-(NSString*) callDescription;
+(NSString*) descriptionTop: (NSMutableArray*) stack;
-(id) undoVariable;
是否会因为我分配一个应该是浮点数的 CGPoint.y 值而导致错误?另外,由于这些是单独的 MVC,我应该避免将其中一个文件导入到另一个文件中吗?