【发布时间】:2012-03-15 08:15:55
【问题描述】:
我想清理我的一个项目,并在一个类中提取我经常重复使用的部分源代码。 这个类处理一些对 Web 服务的请求,到目前为止一切都很好;)。在我将代码提取到它自己的类之前,我使用调用类中的线程和回调来处理这些请求。
现在我有一个“最佳实践”问题:
在我的代码中,我做了类似(简化)的事情:
(void)foo{
Helper *h =[[Helper alloc]init];
[h doRequest];
}
doRequest 执行一个网络操作(在它自己的类中),我必须等到这个请求完成。所以我需要一个回调或类似的东西。
我是否应该简单地线程 doRequest 包括。 waituntildone=YES?
我是否也必须在 Helper 类中线程化网络?或者像这样调用线程化的方法就足够了:
[NSThread detachNewThreadSelector:@selector(h doRequest) toTarget:self withObject:nil];
在调用者类完成任务后,从 doRequest 获取回调到调用者类的最佳做法是什么,以便我可以处理来自 Web 服务的返回值?
提前致谢。
约翰内斯
【问题讨论】:
标签: objective-c ios multithreading networking