NSURLConnection适用于一个代理而不是另一个代理

时间:2015-05-06 20:54:30

标签: ios objective-c delegates nsurlconnection nsurlconnectiondelegate

我已经使用了NSURLConnection一千次。这个不是发送请求,也不是调用委托回调。如果我将委托设置为nil,则请求会通过网络进行。当然没有回调。如果我将委托设置为我的项目中恰好符合NSURLConnectionDelegate的其他随机对象,则回调可以正常工作。

为什么NSURLConnection会因特定委托实例而失败?

已经确认这是在主线程上,主运行循环和有问题的对象将YES回复到conformsToProtocol:以获取适当的协议。它是一个单例,dealloc中的断点永远不会被击中。

在这里添加代码。它没有任何异常,也没有添加任何超出我所说的内容。自我是失败的正确对象;工具栏......是随机获取回调的。

    mSessionCookieConnection = [ NSURLConnection connectionWithRequest: cookieReq
                                                              delegate: self ];///[ ToolBarHeaderViewController sharedToolBarHeaderViewController ] ];
NSLog( @"Conforms to protocols: %d %d", [ self.class conformsToProtocol: @protocol( NSURLConnectionDataDelegate ) ],
                                         [ self.class conformsToProtocol: @protocol( NSURLConnectionDelegate ) ] );
NSLog( @"Is main thread %@", ([NSThread isMainThread] ? @"Yes" : @" NOT" ));
NSLog( @"%@ the main run loop.", [[ NSRunLoop currentRunLoop ] isEqual: [ NSRunLoop mainRunLoop ]] ? @"Using" : @"Not using" );

输出结果为:

2015-05-07 08:10:50.201 ZZZ[5889:11316419] Conforms to protocols: 1 1
2015-05-07 08:10:50.201 ZZZ[5889:11316419] Is main thread Yes
2015-05-07 08:10:50.202 ZZZ[5889:11316419] Using the main run loop.

0 个答案:

没有答案