マルチスレッドを使用していない場合、つまり とは別のスレッドで実行されるメソッドを開始しているloadMainViewImages
場合、メソッドは順次実行されます。したがって、loadMainViewImages
返されたら、「その中の」すべてが実行されたことを確認できます。これがメソッドの仕組みです。
コメントのフォーマットを改善するための編集:
MainViewDownload.h
@protocol MainViewDownloadDelegate;
@interface MainViewDownload
@property (nonatomic, weak) NSObject<MainViewDownloadDelegate> *delegate;
@end
@protocol MainViewDownloadDelegate
- (void)downloadDidFinish:(MainViewDownload *)download;
@end
MainViewDownload.m
@implementation MainViewDownload
- (void)someMethodThatDownloadsStuff_OrIsCalledAfterTheDownload {
...
if ([self.delegate respondsToSelector:@selector(downloadDidFinish:)]) {
[self.delegate downloadDidFinish:self];
}
}
@end
RootViewController.h
@interface RootViewController <MainViewDownloadDelegate>
...
@end
RootViewController.m
@implementation
...
- (void)downloadDidFinish:(MainViewDownload *)download {
// hide the download view here.
}
@end
ダウンロード ビューのデリゲートをルート ビュー コントローラーに設定してください。