Пример синхронного HTTP-запроса для iPad / target-C? - PullRequest
7 голосов
/ 20 апреля 2010

Я могу найти только примеры асинхронного iPad / target C HTTP. Как сделать синхронный веб-запрос?

Ответы [ 3 ]

34 голосов
/ 20 апреля 2010
NSURLRequest * urlRequest = [NSURLRequest requestWithURL:aURL];
NSURLResponse * response = nil;
NSError * error = nil;
NSData * data = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error];
5 голосов
/ 20 апреля 2010

Согласитесь с h4xxr, и я перешлю вас на

http://allseeing -i.com / ASIHTTPRequest /

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

2 голосов
/ 20 апреля 2010

Зависит от того, какие данные вы ищете. Нечто простое, подобное этому, является синхронным и время от времени удобным:

NSURL *url = [NSURL URLWithString:@"http://someaddress.asp?somedatarequest=1"];
NSArray *dataArray = [NSArray arrayWithContentsOfURL:url];

(Эквивалент также существует для словарей)

В этом случае система будет ожидать ответа от someaddress.asp - поэтому лучше всего поместить что-то подобное в фоновый поток.

Если у вас есть контроль над форматом данных на другом конце, это может быть быстрый и простой способ передачи данных в приложение для iPhone / iPad ...

Редактировать - просто хотел заявить очевидное, что обычно лучше всего асинхронный! Не нужно ждать, связывая системные ресурсы, особенно если удаленный сервер умер и т. Д.:)

...