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];
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];
相关文章推荐
- BZOJ 3218|UOJ 77|A + B Problem|最大流|可持久化线段树
- 分区自动挂载与fstab文件修复-47
- 160113ios 7分割线(separator)不到左边框的问题和去掉底部多余的表格线
- Android中EditText 的setInputType以及setRawInputType区别
- Easyui使用中遇到的问题和注意事项
- 实验5-8 使用函数统计指定数字的个数 (15分)
- DBGrideh实现自动排序
- 【原】实时渲染中常用的几种Rendering Path
- Hank老师推荐的一些博客
- git命令行
- c#的DateTime.Now函数详解
- 【30天学习C++ primer系列】day1:新的征程。-20160110
- XML Json数据
- UIPickerView 双排选择时间点
- win7--svchost占用内存过大
- 如何让用户只能访问特定的数据库(MSSQL)
- python 字符串操作
- Python之路:堡垒机实例以及数据库操作
- asp.net访问网络路径方法(模拟用户登录)
- PHP的serialize序列化数据与JSON格式化数据