Создание запроса к веб-сервису для регистрации в Objective-C - PullRequest
1 голос
/ 03 сентября 2010

У меня есть веб-сервис с таким URL-адресом: http://webservice.com/?log=1

Я хотел бы сделать запрос на этот URL-адрес в Objective-C, чтобы веб-сервис мог регистрировать этот факт.Я не забочусь о том, чтобы передать что-либо в веб-службу, и мне не важно, как она отвечает на запрос.

Какой самый эффективный способ добиться этого?

1 Ответ

2 голосов
/ 03 сентября 2010

Самый простой способ - использовать NSURLConnection sendSynchronousRequest: returningResponse: error: метод.

, например

NSURLResponse *response;
[NSURLConnection sendSynchronousRequest: [NSURLRequest requestWithURL: [NSURL URLWithString: @"http://webservice.com/?log=1"]] returningResponse: &response error: NULL];

Недостатком использования этого метода является то, что приложение будет зависать при выполнении запроса URL. Чтобы сделать этот запрос асинхронно, вам нужно использовать метод connectionWithRequest: Delegate: . Это становится немного сложнее, так как вам нужно предоставить делегата (в вашем случае тот, который ничего не делает).

, например

    [[NSURLConnection connectionWithRequest: [NSURLRequest requestWithURL: [NSURL URLWithString: @"http://webservice.com/?log=1"]] delegate:self] retain];

...

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
    [connection release];
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    [connection release];
}

См. SimpleURLConnections для получения дополнительных примеров использования NSURLConnection.

ОБНОВЛЕНИЕ: удалены дополнительные методы delagate согласно комментарию Дэвида.

...