如何在不使用委托的情况下获得NSURLConnection的http响应

问题描述:

我想知道是否有办法在不使用Apple提供的委托的情况下获得NSURLConnection的HTTP响应。如何在不使用委托的情况下获得NSURLConnection的http响应

例如,如果我设置以下述方式连接:

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

在GitHUB上查看AFNetworking(https://github.com/AFNetworking/AFNetworking)。这是一个相当不可思议的库,它封装了这个功能,并且使它非常易于使用。 – MikeS

+0

“自定义代表”是什么意思?请解释。 –

NSURLConnection的可能是更容易使用这些天:

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

这避免了在所有创建的任何委托对象。被警告:取消这种请求非常困难,所以请确保你在响应处理程序中加入了安全措施。