こんにちは私は、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とprotocolsを介して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であるため、一方のファイルをもう一方の右側にインポートすることは避けてください。