画像の遅延読み込みを実行するプロジェクトに取り組んでいます。imagedownloader が画像をダウンロードすると、そのデリゲートにメッセージを送信して画像を処理します。しかし、View Controllerであるそのデリゲートがメモリから割り当て解除されると、imagedownloaderクラスがすでに死んでいるデリゲートにメッセージを送信したくありません。imagedownloader のデリゲートをいつ nil に設定できるかを知る必要がありますか?? 私のターゲットは iOS4.0 に設定されているため、弱い参照を使用できません。そして、デリゲートに完了メッセージを送信する準備ができている辞書に格納されている imagedownloader の多くのインスタンスがあります。保存されているすべてのインスタンスのデリゲートを nil に設定する必要があります。
-(void)viewWillDisappear:(BOOL)animated
{
for(imagedownloader *imagedownloaderObj in dict)
{
imagedownloaderObj.delegate = nil;
}
[super viewWillDisAppear:animated]
}
しかし、ループでクラッシュします。誰か助けてください...そして私の下手な英語で申し訳ありませんが、あなたがそれを理解してくれることを願っています..