I was able to use NSURLConnection to make a URL request and, in didReceiveData, do stuff with the returned data. What I need to do is to make a connection immediately beforehand if a particular condition exists. So, in my routine, I have something like: Code: if (x) [self make_url_request1]; [self make_url_request2]; But I'm a bit confused about the asynchronous nature of the requests: request2 may get served faster than request1 - how would I distinguish that in the didReceiveData code? I've tried putting in flags to check but that seems pretty brutish and I'm not sure it's fail-safe. (Actually, I may want request1 to complete before doing request2 so I may end up changing the logic entirely but I'm still interested in how the above case should be done.) Any ideas and suggestions are greatly appreciated!