Nsurl连接TimeOut

时间:2013-09-29 06:45:37

标签: objective-c

我一次解雇四个ASYNCHORONUS方法,我无法知道哪个方法超时。我想知道哪个方法超时.will server会给出关于哪个方法超时的任何id。

1 个答案:

答案 0 :(得分:0)

选项1

将所有连接存储在呼叫者中。在didFailWithError:方法中,您可以进行比较以查找哪个连接失败。

选项2

使用关联的NSURLRequest来告诉什么连接做什么。

选项3

使用不同的代理来告诉另一个连接。与上面相同,但将每个连接与单个NSURLConnectionDelegate实例相关联。

<强>选项4

从NSURLConnection派生自己的类。你可以在那里介绍ID或做其他奇特的事情 - 你掌控着。

示例

您创建NSURLRequest并将其存储以供日后使用(选项2)。然后,您使用请求和委托创建连接:

[NSURLConnection connectionWithRequest:delegate:]

如果您在connection:didFailWithError:中定义NSURLConnectionDelegate方法,则会在超时时调用它。

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
    // The request has failed for some reason.
}

NSURLConnection允许您获得原始请求:

connection. originalRequest

您收到请求并将其与之前保存的请求进行比较。