2011-07-29 91 views
0

我正在斯坦福大學的CS193p(2010年秋季)作業#3。我有一個UIView子類下面的代碼:方法不被稱爲

float scale = [self.delegate scaleForGraphView:self]; 

斷點和NSLogs內scaleForGraphView永遠不會被觸發,但是NSLogs和斷點在上面的行表示,這是獲得執行它。有人可以解釋爲什麼我看不到在scaleForGraphView方法內執行嗎?

+0

這通常不會標記爲家庭作業,但您已明確指出它是作業,所以它獲得的標籤! :) –

回答

3

投入:

NSLog(@"%@", self.delegate); 

我願意打賭,要麼:

  1. 這是一種錯誤的對象
  2. 這是nil
+0

我的天啊,這塊板子速度很快。是的,把你建議的NSLog語句顯示self.delegate爲零。如果沒有你的建議,我不會想這麼做,謝謝。現在要弄清楚它爲什麼是零... –

+0

@Michael Mangold:當一種方法神祕地沒有做它似乎應該做的事情時,這就是有力的證據表明你沒有期望它,因爲零無聲無息忽略你所說的一切。 – Chuck

1

沒有更多的代碼,這很難回答,但它看起來好像self.delegate是零。