我已经从appDelegate调用了一个类方法,如下所示:
RankingAndSMProcess *process = [RankingAndSMProcess alloc];
[process performSelectorInBackground:@selector(DoRankingAndSocialMediaProcessing) withObject:nil];
[process release];
此方法调用其他方法:
@try {
[self GoForRankingProcess];
[self updateItemsForPeerindex];
[self updateItemsForKloat];
[self updateItemsForKred];
}
@catch (NSException *exception) {
NSLog(@"An Error has been occured:%@", exception);
}
@finally {
[items release];
[profile release];
}
是否必须以与后台线程上的DoRankingAndSocialMediaProcessing相同的方式调用RankingAndSMProcess中的DoRankingAndSocialMediaProcessing方法中调用的所有方法?或者这里有另一个潜在的问题吗?
目前我认为没有任何处理方法被解雇,因为没有收集新数据。
在添加更改调用以在后台执行之前,所有方法和整个过程都按预期工作。
答案 0 :(得分:0)
其他方法在做什么?如果它是网络请求,则可能需要运行循环,以便后台线程实际上能够执行任务。
答案 1 :(得分:0)
创建NSOperation并将此操作添加到NSOperationQueue。 这将创建一个与主线程并行的新线程,它也将执行您的方法。
以下是一些有用的链接:
http://www.icodeblog.com/tag/nsoperation/
http://www.cimgf.com/2008/02/16/cocoa-tutorial-nsoperation-and-nsoperationqueue/
希望这会对你有所帮助。
享受编码:)