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

时间:2013-08-22 16:03:12

标签: ios nsurlconnection nsurlrequest nsurlconnectiondelegate

我想知道是否有办法在不使用Apple提供的委托的情况下获取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方法中解析响应,我可以创建一个自定义委托来解析响应吗?我不需要一个关于如何做到这一点的完整教程,但是在正确的方向上轻推将会受到赞赏。感谢

1 个答案:

答案 0 :(得分:0)

NSURLConnection现在可能更容易使用:

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

这可以避免必须创建任何委托对象。请注意:很难取消这种请求,因此请确保在响应处理程序中放置安全措施。