NSURLConnection 的使用

来源:互联网 发布:叶英捏脸数据 编辑:程序博客网 时间:2024/04/29 06:51

1.不能同时发起过多的请求,因为发起过多的话会导致请求超时,现在工程中同时工作的请求5个。

2.默认情况下在哪个线程发起的NSURLConnection,代理的回掉就会在哪个线程被回掉。

   如果是直接调用NSURLConnection的initWithRequest:delegate:startImmediately:(第三个参数用YES,这个是designated initializer)或者方法initWithRequest:delegate:时,NSURLConnection会默认运行在NSDefaultRunLoopMode模式下,即使再使用scheduleInRunLoop:forMode:设置运行模式也没有用。

3.可以有两个办法让NSURLConnection在子线程中运行,即将NSURLConnection加入到run loop或者NSOperationQueue中去运行。

- (void)scheduleInRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode; //将加入指定的run loop中运行,必须保证这时NSURLConnection不能启动,否则不起作用了

- (void)unscheduleFromRunLoop:(NSRunLoop *)aRunLoop forMode:(NSString *)mode; //将取消在指定run loop中的运行,实际上就会停止NSURLConnection的运行


NSOperationQueue *queue = [[NSOperationQueueallocinit];

NSURLConnection *conn = [[NSURLConnection allocinitWithRequest:request delegate:self startImmediately:NO]; 

[conn setDelegateQueue:queue];




 

1 0
原创粉丝点击