0

Я хотел бы знать, есть ли способ получить ответ HTTP для NSURLConnection без использования делегата, предоставленного Apple.Как получить ответ HTTP для NSURLConnection без использования делегатов

Например, если настройка I на соединение следующим образом:

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url]; 
[request setHTTPMethod:@"POST"]; 
[request addValue:@"player.UpdateProfile" forHTTPHeaderField:@"player-profile"]; 
[self addHttpHeaders:request]; 

NSURLConnection *connection = [[NSURLConnection alloc]initWithRequest:request delegate:self startImmediately: YES]; 

Теперь здесь вместо делегирования self и анализа ответа в методе didReceiveResponse, я могу создать пользовательский делегат, где я могу разбора ответ? Мне не нужен полный учебник о том, как это сделать, но подталкивание в правильном направлении было бы оценено. Благодаря

+4

Да, вы можете назначить делегат любому желаемому объекту, если этот объект соответствует протоколу, определенному делегатом. – danielbeard

+0

Посмотрите на AFNetworking (https://github.com/AFNetworking/AFNetworking) на GitHUB. Это довольно невероятная библиотека, которая инкапсулирует эту функциональность и делает ее очень простой в использовании. – MikeS

+0

Что вы подразумеваете под «пользовательским делегатом»? Пожалуйста, объясни. –

ответ

0

NSURLConnection, вероятно, легче использовать эти дни с:

[NSURLConnection sendAsynchronousRequest: urlRequest 
            queue: [NSOperationQueue mainQueue] 
         completionHandler: ^(NSURLResponse *response, NSData *data, NSError *error) 
{ 
} 

Это избавляет от необходимости создавать какой-либо объект делегата на всех. Будьте осторожны: очень сложно отменить такой запрос, поэтому убедитесь, что вы помещаете гарантии в обработчик ответа.

Смежные вопросы