スタンフォードiOS5クラスを開始し、RPN計算機を完了しましたが、[クリア]ボタンの動作を少し変えたいと思います。CalculatorModelの「頭脳」に変更を加えることなく、これが私が今持っている方法です。
- (IBAction)clearPressed
{
self.display.text = @""; // Clear the display
self.historyWindow.text = @""; // Clear the history window
self.model = nil; // Reset the stack
self.userIsInMiddleOfEnteringNumber = NO; // Reset user typing boolean
}
私は間違っているかもしれませんが、「self.model=nil;」スタックからオブジェクトを実際に削除するわけではないようですが、それを模倣しているだけです。そこで、CalculatorModelの「頭脳」に関数を追加しました。
-(void) clearOperandStack
{
[self.operandStack removeAllObjects];
}
CalculatorViewControllerの「clearPressed」関数で呼び出したいのですが、Objective cをまだ完全に理解していないために、問題が発生している可能性があります。これは私がしなければならないと思ったのですが、うまくいきたくないようです。
- (IBAction)clearPressed
{
self.display.text = @""; // Clear the display
self.historyWindow.text = @""; // Clear the history window
// self.model = nil; // Reset the stack
[self.model clearOperandStack];
self.userIsInMiddleOfEnteringNumber = NO; // Reset user typing boolean
}
誰かがそのメソッドを呼び出す適切な方法/私が間違っていることを私に説明できますか?