UpdateViewController には、モーダル ビュー (UpdateViewController) を閉じるデリゲート MyDownloadController によって呼び出される関数があります。
-(void)errorDownloading {
self.downloadController.delegate = nil;
[downloadController release];
[self dismissModalViewControllerAnimated:YES];
}
デリゲートポインターをいじったり、いじったりせずにこれを試してみましたが、それでもビューを閉じません。
デリゲートは、MyDownloadController 内で次のようにメソッドを呼び出します。
-(void)connectionError {
if([delegate respondsToSelector:@selector(errorDownloading)]){
[delegate errorDownloading];
}
}
そして、この関数は別のデリゲート (MyConnectionController) によって呼び出されます。
これだけ多くの代表者がいることは何か問題がありますか? そして、ポインターエラーまたはそれらに伴う何かは、モーダルビューを閉じることができることに影響しますか? もしそうなら、どのように/なぜですか?
私は委任のためにこの構造を持っています:
UpdateViewController (the actual modal view I am trying to close)
|- MyDownloadController (the controller that abstracts the process being done)
|- MyConnectionController (a helper class I wrote to interact with NSURLConnection)
|- NSURLConnection
この問題を診断する最善の方法は何ですか?