我有 url 连接,通常工作正常
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request
delegate:delegate];
但是当我创建一个模态窗口时,没有请求收到响应:
[NSApp runModalForWindow:window];
如果我注释掉这一行,从而创建一个“标准”窗口,一切正常。
我尝试实现 NSURLConnectionDelegate 中的所有方法,但没有调用其中一个。
我怀疑这与“运行循环”有关,但在这方面经验不足。有人有这方面的经验吗?
谢谢
最佳答案
如果您的目标是 10.5+,您可以告诉 NSURLConnection
也在 NSModalPanelRunLoopMode
中运行(当前线程的运行循环在呈现模态视图时所处的模式) ) 通过
-(void)scheduleInRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode
aRunLoop
可能是 [NSRunLoop currentRunLoop]
而 mode
可能是 NSModalPanelRunLoopMode
。更多信息在 NSURLConnection
doc .
如果您支持早期的操作系统,您可能需要发挥创意(即使用多线程)。在 10.5 之前很好地讨论了这个问题 here .
关于objective-c - runModalForWindow 限制 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4989181/