2012-11-07 64 views
-2

所以我有一個名爲「DrawOnImageViewController」的類,它做了一些非常明顯的事情。在它的頭文件中,我還有一個使用單一方法定義的協議「DrawOnImageDelegate」:「imageWithDrawingSelected:(UIImage *)image」。這個類也顯然具有符合該協議的「委託」屬性。iOS繼承一個協議類

現在我需要繼承這個類,以便我可以簡單地在viewWillDisappear中的委託上調用委託方法。我子類上面的類,然後推翻viewWillDisappear像這樣:

-(void)viewWillDisappear:(BOOL)animated 
{ 
    [super viewWillDisappear:animated]; 
    [self.delegate imageWithDrawingSelected:self.imageView.image]; 
} 

這種方法(viewWillDisappear)執行,但我委託的委託方法不會被調用。 我試過調用:[super.delegate imageWithDrawingSelected:super.imageView.image];

但是,這也不起作用....

請幫助。提前致謝。

+6

已經驗證'self.delegate '此時不是零? – rmaddy

+0

它是空的,但爲什麼? – HackyStack

+2

@HackyStack那麼,消息'nil'不會崩潰,Objective-C不是Java。 – 2012-11-07 20:55:43

回答

2

這是最明顯和最常見的一種疏忽。我未能設置委託屬性。我去掛我的恥辱頭...

它呈現在酥料餅的控制器,爲此委託設置,但你不是內容視圖控制器...

+3

我們都犯錯誤,不用擔心! :) – WDUK

+1

對未來的好建議:如果簡單的東西不行,就睡一覺,明天就能搞清楚:) – 2012-11-07 21:08:28