您的位置:首页 > 其它

NSURLConnection 的使用

2016-01-13 13:16 246 查看
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 = [[NSOperationQueuealloc] init];

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

[conn setDelegateQueue:queue];

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: