NSURLConnection 遵守代理协议但是不能响应代理
来源:互联网 发布:linux下gcc安装包在吗 编辑:程序博客网 时间:2024/06/07 02:29
郁闷了一个下午,中午解决了这个问题,在单独的demo里,自己封装的方法用的很好,但是放到工程中就是不行
解决方法就是为这个线程开启一个runloop使它始终处于运行状态,需要定一个全局的BOOL类型的finished变量来进行控制。代码如下:
-(void)getPostRequestWithInterface:(NSString *)url andValueArr:(NSData *)badyData withInfoDic:(NSDictionary *)dic
{
NSURL *reqURL = [NSURLURLWithString:url];
[[UIApplicationsharedApplication]setNetworkActivityIndicatorVisible:YES];
// NSURL *reqURL = [NSURL URLWithString:protocol_json_url];
//post 异步请求
NSMutableURLRequest *request = [NSMutableURLRequestrequestWithURL:reqURL cachePolicy:NSURLRequestReloadIgnoringCacheDatatimeoutInterval:10];
[requestsetHTTPMethod:@"POST"];
[requestsetHTTPBody:badyData];
[NSURLConnectionconnectionWithRequest:request delegate:self];
self.finish =NO;
while (!self.finish) {
[[NSRunLoopcurrentRunLoop] runMode:NSDefaultRunLoopModebeforeDate:[NSDatedistantFuture]];
}
[selfretain];
// //get 异步请求
// NSURLRequest *request = [NSURLRequest requestWithURL:reqURL];
// [self retain];
// NSURLConnection *connection = [NSURLConnection connectionWithRequest:request delegate:self];
// [connection start];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection{
[[UIApplicationsharedApplication]setNetworkActivityIndicatorVisible:NO];
self.finishBlock(nil);
[selfrelease];
self.finish =YES;
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{
[[UIApplicationsharedApplication]setNetworkActivityIndicatorVisible:NO];
self.failedBlock(error);
[selfrelease];
self.finish =YES;
}
- NSURLConnection 遵守代理协议但是不能响应代理
- 遵守了CLLocationManagerDelegate协议,为什么不调用代理方法
- NSURLConnection设置代理
- NSURLConnection常用的代理方法
- 数据请求:NSURLConnection ,代理方法
- NSURLConnection代理方法线程问题
- 协议,代理
- 协议、代理
- iOS NSURLConnection同步 异步请求 代理
- 文件的下载(通过NSURLConnection代理)
- 代理协议SOCKS5简介
- 代理协议整理
- 代理协议SOCKS5
- HTTP协议之代理
- HTTP协议之代理
- TTP协议 (五) 代理
- 协议和代理
- HTTP协议之代理
- 媒体驳中石油气价倒挂谎言:300亿利润哪来的
- IT忍者神龟之Photoshop解析新手抠图的5个快速选择工具
- android 屏幕适配 课程笔记
- Http协议(2)—客户端的识别与cookie机制
- 一点申明
- NSURLConnection 遵守代理协议但是不能响应代理
- C语言-预处理指令3-文件包含
- Linux 使用Vim编辑器去掉文本中的^M
- Gentoo的emerge命令参数用法详解
- 正则表达式regexp_replace
- Vmware苹果系统识别不了u盘
- C语言中的预处理详解
- 【DB.PL/SQL】PL/SQL —— 语法基础
- Http协议(3)—HTTP实体和编码