区分委托中的NSURLConnection对象

NaX*_*Xir 5 cocoa nsurlconnection

我有两个请求一个接一个地开始.像这样开始请求

NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.google.com"]];
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60];
NSURLConnection * connection = [[NSURLConnection alloc]
                                initWithRequest:request
                                delegate:self startImmediately:NO];
[connection scheduleInRunLoop:[NSRunLoop mainRunLoop]
                      forMode:NSDefaultRunLoopMode];
[connection start];
Run Code Online (Sandbox Code Playgroud)

和另一个这样开始的请求.

NSURL *url1 = [NSURL URLWithString:[NSString stringWithFormat:@"http://www.apple.com"]];
NSURLRequest *request1 = [NSURLRequest requestWithURL:url1 cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60];
NSURLConnection *connection1 = [[NSURLConnection alloc] initWithRequest:request1 delegate:self];
[connection1 release];
Run Code Online (Sandbox Code Playgroud)

如何在委托方法中区分这两者?

-(void)connectionDidFinishLoading:(NSURLConnection *)connection{}
Run Code Online (Sandbox Code Playgroud)

不希望为此目的保留任何额外的类变量.

Bha*_*vin 4

这很简单 :

-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
     if (connection == connection1)
     {
         //It's for connection1.
     }
     else if (connection == connection2)
     {
         //It's for connection2.
     }
}
Run Code Online (Sandbox Code Playgroud)

您可以完成这个美丽的问题:管理多个异步 NSURLConnection 连接