Ваш делегат не должен быть отдельным классом.
- (void)someMethod:(NSUrl *)url
{
ASIHTTPRequest *req = [ASIHTTPRequest requestWithUrl:url];
[req setDelegate:self];
//configure the request
[req startAsynchronous];
}
- (void)requestDone:(ASIHTTPRequest *)request
{
NSString *response = [request responseString];
//do whatever with the response
}
Таким образом, ваш метод someMethod:
запускает запрос и возвращает void.Когда запрос завершен, ваш ASIHTTPRequest запускает метод requestDone:
для своего делегата, который это тот же объект .В этом методе вы делаете что угодно - устанавливаете ivar или именованное свойство, обрабатываете входящие данные и заполняете UITableVew, что угодно.
Обратите внимание, что теперь ASIHTTPRequest устарел, и его автор рекомендует вместо этого использовать что-то еще.AFNetworking кажется популярным выбором, но я недавно не начинал новый проект, поэтому я сам еще не выбрал его.