我在这里看到了类似的问题,但我找不到解决问题的方法.我在主线程中有一个简单的 NSURLConnection(至少我没有创建任何其他线程),但是我的委托方法没有被调用
I saw similar questions here, but I couldn't find solution to my problem. I have a simple NSURLConnection in main thread (At least I didn't create any other threads), but my delegate methods aren't get called
[[[NSURLConnection alloc] initWithRequest:request delegate:self] autorelease];
并且没有调用任何方法,例如
and no methods called, e.g.
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
NSLog(@"didReceiveResponse");
}
self
也是 NSXMLParser 的委托,但我认为这应该不是问题,因为我在同一个项目的其他类中也有这个工作.我已经检查了 10 次,但没有发现任何问题.
self
is also a delegate for NSXMLParser, but I think it should not be a problem, as I have this working in my other class in the same project. I checked everything 10 times already, but can't find any problem.
我在这里看到了一些解决方法:http://www.depl0y.com/?p=345 但我不喜欢它,可能有人知道更好的解决方案吗?谢谢
I've seen some hack to solve it here: http://www.depl0y.com/?p=345 but I don't like it, May be someone knows better solution? thanks
我知道的唯一原因是一个单独的线程(在调用委托方法时已经终止).
The only reason I know is a separate thread (that is already terminated when the delegate methods are called).
尝试 NSLog(@"Is%@ main thread", ([NSThread isMainThread] ?@"" : @" NOT"));
就在 url 连接创建之前
Try to NSLog(@"Is%@ main thread", ([NSThread isMainThread] ? @"" : @" NOT"));
right before the url connection creation
这篇关于NSURLConnection 不调用委托方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!