我剛開始斯坦福大學的iOS5課程,並已完成RPN計算器,但希望使「清除」按鈕的工作方式稍有不同。這是我有現在,沒有更改CalculatorModel「大腦」:CS193P作業1清除
- (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 =零;」似乎它並不真正從堆棧中刪除對象,它只是模仿。所以我增加了一個功能,該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
}
有人可以向我解釋調用該方法的正確方法/我做錯了什麼嗎?
您是否也將聲明添加到大腦的.h文件中? – rooftop 2012-02-22 02:40:45
_does似乎不想工作_ - 你有編譯錯誤?運行時錯誤?它有什麼作用?你期望它做什麼? – sarnold 2012-02-22 03:02:16
屋頂,你是對的。我沒有在.h文件中添加聲明。我猜如果你把它添加到實現文件中,而不是它被認爲是一個私有函數的接口?謝謝您的幫助! – Joey 2012-02-22 04:21:14