Можно ли вызывать одновременно несколько веб-служб с iPhone? - PullRequest
1 голос
/ 20 марта 2012

Я создал приложение для социальных сетей и звоню в различные веб-службы для получения различных данных пользователей, таких как список друзей, последние обновления и т. Д.

Но когда я вызываю одну веб-службу в фоновом режиме, а затем выполняю вызов другой, первая останавливается, для первого ответа не возвращается ...

Что для этого нужно сделать?

Разве нельзя одновременно вызывать две веб-службы ??

1 Ответ

2 голосов
/ 20 марта 2012

Я не уверен, как вы звоните в службы. Если вы покажете свой код, любой может помочь вам больше ...

Вы можете попробовать это -

    - (NSData *)fetchProfileData:(NSString *)accessToken{
          NSURL *url = [NSURL URLWithString:serverURL];
          request= [NSMutableURLRequest requestWithURL:url];
          [request setHTTPMethod:@"POST"];
          NSError *error;
          NSHTTPURLResponse *response;
          NSData *responseData = [NSURLConnection sendSynchronousRequest:request   returningResponse:&response error:&error];
         return responseData;
    }

для вызова других веб-служб создайте отдельные отдельные функции для каждой службы, например

    - (NSData *)fetchFriendsList:(NSString *)accessToken{
       //write your logic, you see above method for more details 
    } 

    - (NSData *)fetchUpdates:(NSString *)accessToken{
       //write your logic, you see above method for more details
    }

вызовите выше методы из ваших контроллеров вида, как

    [NSThread detachNewThreadSelector:@selector(callFetchProfileDataServices:) toTarget:self withObject:@"userToken"];

    -(void)callFetchProfileDataServices:(NSString*)token{
        NSData *response = [self fetchProfileData:token];
        //now parse response data data using suitable parser 
    }

Вам необходимо создать отдельные отдельные потоки для каждой службы, и вы также можете сохранить эти данные в поле участника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...