我有一个服务器类,它具有 NSURLConnection 的委托方法。我还有另一个名为 SendRequest 的类,它将 NSMutableURLRequest 发送到服务器类。在服务器类中,我有两种方法称为
- (void)executeAsync:(NSMutableURLRequest)urlRequest timeOutInterval:(int)timeOut
{
_urlConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self startImmediately:YES];];
}
- (void)executeSync:(NSMutableURLRequest)urlRequest
{
NSData* respData = [NSURLConnection sendSynchronousRequest:urlRequest returningResponse:&response error:&error];
}
一切正常,直到这里,我可以从调用委托方法的 SendRequest 类调用上述 executeAsync 方法。
现在我在 SendRequest 类中添加了一个新方法,它将调用 Server 类中的 executeRequest 方法。
- (void)executeRequest:(NSMutableURLRequest)urlRequest
{
_urlConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self startImmediately:YES];];
}
这一次,我被困住了。正在调用 executeRequest 方法,但在处理 URL 请求时它没有调用其委托方法。我在这里被打了好几个小时。
一切似乎都是正确的,我发送 urlRequest 的方式与以前发送的方式相同。但我不知道为什么它不起作用。随意评论,但请帮助我。我真的很担心
编辑 :
我需要向服务器发布请求并获得响应。如果我尝试同步它工作正常,但它阻塞了主线程。这就是我选择异步的原因。通过委托方法,我试图获取响应数据。