我正在一個項目中執行延遲加載的圖像。當imagedownloader下載圖像時,它會將消息發送給其委託來處理圖像。但是,當它的代表(它是一個視圖控制器)從內存中取消分配時,我不希望imagedownloader類將消息發送到它的代理,因爲它已經死了。我需要知道我什麼時候可以將imagedownloader的委託設置爲零?我的目標是設置爲iOS4.0,所以我不能使用弱引用。我有很多imagedownloader實例存儲在字典中,準備發送他們的委託完成消息。我必須設置所有這些存儲的實例來nil.For的delegte我現在做 '代表沒有得到零
-(void)viewWillDisappear:(BOOL)animated
{
for(imagedownloader *imagedownloaderObj in dict)
{
imagedownloaderObj.delegate = nil;
}
[super viewWillDisAppear:animated]
}
,但它在循環崩潰。請幫助任何人......並對我的壞英語感到抱歉,但我希望你明白了我的問題。
顯示什麼錯誤? –
thnks for editing and the error is Terminating app due to uncaught exception'NSInvalidArgumentException',reason:' - [__ NSCFString setModal:]:無法識別的選擇器發送到實例0x686e030' –
實際上在這個for循環,它顯示相同的錯誤,如果我嘗試訪問在imagedownloader類中聲明的任何屬性。 –