Ну, первое, что вам нужно сделать, это снова установить delegate
вашего нового NSURLConnection
на этот класс, чтобы вызывать методы (но вы это знали). Если вы делаете это по одному, сохраняйте указатель на активный NSURLRequest
, что-то вроде:
@property (nonatomic, assign) NSURLRequest *activeURLRequest;
Затем проверьте URL активного запроса, чтобы различать запросы:
- (void) connectionDidFinishLoading:(NSURLConnection *)connection
{
NSString *urlPath = [[activeURLRequest URL] path];
if([urlPath isEqualToString:@"http://my.url.string/1"])
// insert into DB
else if([urlPath isEqualToString:@"http://my.url.string/2"])
// do the other thing
}
Обратите внимание, что вы также можете сравнить объект NSURL
напрямую с сохраненной версией его, используя isEqual:
(или оператор ==
).
Если вы делаете больше, чем по одному, вам нужен другой способ дифференциации. Я рекомендую использовать ASIHTTPRequest
или AFNetworking
, чтобы сделать это проще, но если вы хотите сделать это с помощью библиотек Apple, вам нужно будет раскрутить несколько потоков, оставьте запись того, какой номер потока обрабатывает какой URL-адрес запроса, и используйте эту информацию в своем методе connectionDidFinishLoading:
.