2013-04-17 16 views
2

在iOS系统(冷静下来我会到Android部以第2),你可以创建一个NSURLConnction和使用这个对象来识别被发出的呼吁:的Android追踪哪些异步HTTP调用返回

NSURLConnection *urlConnection = [NSURLConnection connectionWithRequest:request delegate:self]; 

然后在回调代码,你可以说:

if (connection == urlConnection) 
{ 
    // this was my urlConnection  
} 
else if (connection == urlConnection2) 
{ 
    // this was my urlConnection  
} 

在Android中我有一个运行我的HTTP GET请求的AsyncTask。我还有一个接口,在任务完成时调用DidFinishConenction函数。然而,当这被称为我需要一种方式来确定哪个电话被做。这样我可以正确处理结果。

在Android中,你可以叫你的AsyncTask有:new MyServerConnection().execute(myUrl);

有没有一种方法,以确定这一任务,并将它与其他类似后来到iOS?

感谢,

大卫

+0

一种方法是将构造函数参数添加到您的“MyServerConnection”中。例如,你可以通过新的MyServerConnection(REQUEST_ID).execute(myUrl)调用它,然后决定如何处理这个特定的REQUEST_ID。 – harism

回答

1

AsyncTask不回调的工作。相反,您会覆盖该任务的onPostExecute和/或onProgressUpdate方法。 (您可以使用这些方法进行自己的回叫。)您可以简单地使用==来比较MyServerConnection对象。另外,你也可以设计你的MyServerConnection有一个标识符字段(它可以自动生成,如果你愿意,或作为构造参数接收)并用它来比较。