您必须创建两个NSURL连接并处理委托中的响应。
So, in your header file you can have:
NSURLConnection *conn1;
NSURLConnection *conn2;
NSMutableArray *arrayFirst;
NSMutableArray *arraySecond;
In the implementation file:
//Connection 1
NSURL *url1=[NSURL URLWithString:@"yourjsonurl1"];
NSURLRequest *request1 = [NSURLRequest requestWithURL:url1];
conn1=[[NSURLConnection alloc] initWithRequest:request1 delegate:self];
//Connection 2
NSURL *url2=[NSURL URLWithString:@"yourjsonurl2"];
NSURLRequest *request2 = [NSURLRequest requestWithURL:url2];
conn2=[[NSURLConnection alloc] initWithRequest:request2 delegate:self];
//In your delegate
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
if (connection==conn1) {
arrayFirst = [[NSMutableData alloc]init];
}
else if (connection==conn2){
arraySecond = [[NSMutableData alloc]init];
}
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
if (connection==conn1) {
[arrayFirst appendData:data];
}
else if (connection==conn2){
[arraySecond appendData:data];
}
}
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
if (connection==conn1) {
NSLog(@"SOMETHING WENT WRONG WITH URL1");
}
else if (connection==conn2){
NSLog(@"SOMETHING WENT WRONG WITH URL2");
}
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
if (connection==conn1) {
NSLog(@"DONE WITH URL1");
}
else if (connection==conn2){
NSLog(@"DONE WITH URL2");
}
}
一种更短(也许更好)的方法是在异步操作中运行它:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *result = [NSData dataWithContentsOfURL:"yourURL"];
id jsonResult;
if ([result length] != 0) { jsonResult = [NSJSONSerialization JSONObjectWithData:result options:0 error:nil];}
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"done!");
});
});