Сделайте ваши веб-звонки асинхронными.Не выполняйте веб-вызовы в главном потоке пользовательского интерфейса ...
Например, если вы используете библиотеку ASIHttp для выполнения http-вызовов (это построено поверх Apple NSURLConnection ), сделать асинхронный запрос так же просто, как -
NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDelegate:self];
[request startAsynchronous];
И при получении данных эти обратные вызовы селектора вызываются -
- (void)requestFinished:(ASIHTTPRequest *)request
{
// Use when fetching text data
NSString *responseString = [request responseString];
// Use when fetching binary data
NSData *responseData = [request responseData];
}
- (void)requestFailed:(ASIHTTPRequest *)request
{
NSError *error = [request error];
}
Это будетопределенно сделайте ваш интерфейс отзывчивым ...
Также имейте в виду, чтобы обновлять элементы интерфейса только в главном потоке.Начать обновление элементов пользовательского интерфейса из фоновых потоков легко.Так что имейте в виду ...