0

我一次触发了四个 ASYNCHORONUS 方法,但我无法知道哪个方法超时。我想知道哪个方法超时。服务器会提供有关哪个方法超时的任何 ID。

4

1 回答 1

0

选项1

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

选项 2

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

选项 3

使用不同的委托来区分一个连接和另一个连接。与上面相同,但将每个连接与单个 NSURLConnectionDelegate 实例相关联。

选项4

从 NSURLConnection 派生你自己的类。你可以在那里介绍 ID 或做其他花哨的事情 - 你可以控制。

例子。

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

[NSURLConnection connectionWithRequest:delegate:]

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

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

NSURLConnection 允许您获取原始请求:

connection. originalRequest

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

于 2013-09-29T06:53:39.927 回答