objective c - How to determine when all methods are finished? -
i have rootviewcontroller create mainviewdownload instance , call method of instance.
mainviewdownload *download = [[mainviewdownload alloc] init]; [download loadmainviewimages]; how can know when loadmainviewimages finished ? call loadmainviewimages rootviewcontroller loadmainviewimages calls method inside mainviewdownload class (lets method2), , method2 calls again method3. so, there way know when loadmainviewimages finished (actually when method3 finished since last called).
if you're not multithreading, i.e. starting method runs on separate thread loadmainviewimages, methods executed sequentially. once loadmainviewimages returns can sure "in it" executed. how methods work.
edit better formatting of comments:
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 download view here. } @end make sure set delegate of download view root view controller.
Comments
Post a Comment