iphone - 创建多个 NSURLConnection。如何识别哪个异步调用

标签 iphone cocoa-touch

我打算使用 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/

相关文章:

iphone - 如何在 iPhone 应用程序中使用 FLAC?

ios - 旋转后获取正确的可读ContentGuide

objective-c - iPhone开发-生成XML文件

iphone - 自定义按钮显示在模拟器上,但不显示在iPhone设备中

IOS - 没有 "touchend"事件(非全屏 Web View )

iphone - 如何知道图像是来自缓存还是来自 SDWebImage 中的 url?

ios - 使用宽高比调整 UIImage 的大小?

ios - Core Motion 是否需要授权/.plist 信息?

iphone - CFReadStreamHasBytesAvailable 轮询 - 最佳实践

ios - 对于大滚动区域,使 UITableView 单元格的宽度小于 UITableView