我刚开始上斯坦福 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”函数中调用它,但我遇到问题可能是因为我还没有完全理解目标 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
}
有人可以向我解释调用该方法的正确方法/我做错了什么吗?