【发布时间】:2012-03-27 15:54:47
【问题描述】:
我在 SO 中进行了很多搜索,但我找不到我的问题的正确答案。 问题来了:
我正在寻找在NSOperation 子类中发送多个上传请求的正确机制。特别是,这个类在其main 方法中执行了两个不同的操作:
- 首先它从本地数据库中检索数据
- 然后它将组合数据发送到 Web 服务器
由于这两个操作可能需要一些时间才能执行,所以我将它们包装在 NSOperation 中。
为了上传数据,我决定采用同步模式(我需要将我的应用程序与已成功提交到网络服务器的上传请求数量同步)。
为了执行类似的上传,我以如下同步方式使用 ASIHttpRequest。
for (int i = 0; i < numberOfUploads; i++) {
// 1-grab data here...
// 2-send data here
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request startSynchronous];
NSError *error = [request error];
if (!error) {
int response = [request responseStatusCode];
if(response == 200)
uploads++;
}
}
所以,我的问题是:
- 这是将数据上传到 Web 服务器的有效解决方案吗?
- 在后台线程中创建
ASIHTTPRequest *request是否有效? - 我必须使用异步模式吗?如果是,怎么做?
注意我正在使用 ASIHttpRequest 进行同步请求,但我认为相同的模式可以通过 NSUrlConnection 类应用
sendSynchronousRequest:returningResponse:error:
提前谢谢你。
【问题讨论】:
-
我已经在我的项目中做类似的事情,没有任何问题。 NSOperation 是一个下载 ASIHTTPRequest。
标签: ios asynchronous asihttprequest nsoperation synchronous