我打算使用 NSURLConnection 创建 2 个请求。当服务器响应并调用connectionDidFinishLoading时,它会传入连接作为参数,但如何识别传入的是哪个连接?
最佳答案
将两个 NSURLConnection 对象保存为传递给 connectionWithRequest:delegate: 的任何委托(delegate)对象的成员变量。然后,您可以将其中的每一个与传递给 connectionDidFinishLoading: 的 NSURLConnection 进行比较,并做出适当的响应:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
if (connection == firstConnection) {
// do something
}
else if (connection == secondConnection) {
// do something else
}
}
另一个稍微面向对象的选项是创建两个不同的委托(delegate)对象,每个委托(delegate)对象都知道如何处理每种类型的连接。然后在创建每个连接时传递适当的委托(delegate)即可。这样您就不需要检查您拥有哪个连接,因为每个委托(delegate)只会收到其自己连接的connectionDidFinishLoading:。
关于iphone - 创建多个 NSURLConnection。如何识别哪个异步调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1415835/