如何从AppDelegate中移动这些stream程,并从每个Call中设置个别代理?

我知道这不是最好的做法,所以我想知道什么是最好的方式来删除所有这些要求个别代表,以减less加载时间。 其结果是每个进给负载一旦被调用或使其asynchronous加载

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions { // Override point for customization after application launch. // make RSS call JSTRRSSReader *reader = [[JSTRRSSReader alloc] init]; [reader startRequest]; BUSINESSReader *busreader = [[BUSINESSReader alloc] init]; [busreader startRequest]; SPORTSReader *sportreader = [[SPORTSReader alloc] init]; [sportreader startRequest]; LIFESTYLEReader *lifestylereader = [[LIFESTYLEReader alloc] init]; [lifestylereader startRequest]; TEENAGEReader *teenagereader = [[TEENAGEReader alloc] init]; [teenagereader startRequest]; EDITORIALReader *editorialreader = [[EDITORIALReader alloc] init]; [editorialreader startRequest]; COLUMNReader *columnreader = [[COLUMNReader alloc] init]; [columnreader startRequest]; FOODReader *foodreader = [[FOODReader alloc] init]; [foodreader startRequest]; ALLWOMANReader *allwomanreader = [[ALLWOMANReader alloc] init]; [allwomanreader startRequest]; LETTERSReader *lettersreader = [[LETTERSReader alloc] init]; [lettersreader startRequest]; AUTOReader *autoreader = [[AUTOReader alloc] init]; [autoreader startRequest]; ENTERTAINMENTReader *entertainmentreader = [[ENTERTAINMENTReader alloc] init]; [entertainmentreader startRequest]; ENVIRONMENTReader *environmentreader = [[ENVIRONMENTReader alloc] init]; [environmentreader startRequest]; CAREERReader *careerreader = [[CAREERReader alloc] init]; [careerreader startRequest]; MAINReader *mainreader = [[MAINReader alloc] init]; [mainreader startRequest]; SLIDERReader *sliderreader = [[SLIDERReader alloc] init]; [sliderreader startRequest]; return YES; } 

我不是100%确定你在问什么。 但是如果你的工作是线程安全的,你可以把每个调用包装在一个asynchronous模块中。

 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ FOODReader *foodreader = [[FOODReader alloc] init]; [foodreader startRequest]; //not sure if this is blocking or not, guessing yes dispatch_async(dispatch_get_main_queue(), ^{ //do stuff here after the blocking call has finished. maybe notify delegate, etc }); });