数値を格納するクラスを作成しました。数値は、int を取るメソッドを介して渡され、NSNumber * オブジェクトに保持されます。下記参照:
- (IBAction)memoryPlus:(UIButton *)sender {
int result = [self.display.text intValue];
[self.memory memoryPlus:result];
}
result は常に正しい値を取得しますが、memoryPlus:result は null を返します。メソッド呼び出しにブレークポイントを設定すると、デバッガーはメソッドに入らず、代わりにメソッドの最後に移動します。
以下の Memory .m ファイルは、結果の値を取得し、それをcalculatorMemoryStringに割り当てる必要がありますが、これは行われていません。
@interface CalculatorMemory()
@property(nonatomic,strong)NSString *calculatorMemoryString;
@end
@implementation CalculatorMemory
@synthesize calculatorMemoryString;
-(void)memoryPlus:(int)memoryValue{
calculatorMemoryString=[NSString stringWithFormat:@"%d",memoryValue];
}
-(NSString *)memoryRecall{
return calculatorMemoryString;
}
-(void)memoryClear{
NSLog(@"CalculatorMemory: memoryClear called");
}
@end
どんな助けでも大歓迎です!