如果您不是多线程,即启动一个在独立线程上运行的loadMainViewImages
方法,那么这些方法将按顺序执行。因此,一旦loadMainViewImages
返回,您就可以确定“其中”的所有内容都已执行。这就是方法的工作原理。
编辑以更好地格式化评论:
主视图下载.h
@protocol MainViewDownloadDelegate;
@interface MainViewDownload
@property (nonatomic, weak) NSObject<MainViewDownloadDelegate> *delegate;
@end
@protocol MainViewDownloadDelegate
- (void)downloadDidFinish:(MainViewDownload *)download;
@end
主视图下载.m
@implementation MainViewDownload
- (void)someMethodThatDownloadsStuff_OrIsCalledAfterTheDownload {
...
if ([self.delegate respondsToSelector:@selector(downloadDidFinish:)]) {
[self.delegate downloadDidFinish:self];
}
}
@end
RootViewController.h
@interface RootViewController <MainViewDownloadDelegate>
...
@end
根视图控制器.m
@implementation
...
- (void)downloadDidFinish:(MainViewDownload *)download {
// hide the download view here.
}
@end
确保将下载视图的委托设置为根视图控制器。