NSURLConnection无法启动

Moh*_*evi 0 iphone xcode objective-c

我正在编写基于位置的应用程序,通过使用NSURLConnection获取当前/其他地方的API获取天气信息.我第一次发送请求它的工作成功.但是下次我想将信息引用到同一个地方时它不起作用,而NSURLConnection不会调用任何委托方法.

这是我的代码:

NSString *strs=[@"http://www.earthtools.org/timezone-1.1/" stringByAppendingString:[NSString stringWithFormat:@"%@/%@",place.latitude,place.longitude]];

NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:strs]];

self.reqTimeZone=[NSURLConnection connectionWithRequest:request delegate:self];
[self.reqTimeZone start]; 
Run Code Online (Sandbox Code Playgroud)

Ben*_*hen 6

我假设你的意思是NSURLConnection(NSConnection不存在).NSURLConnection只能使用一次.请参阅重用NSURLConnection的实例.

另一个问题NSURLConnection是它必须在带有runloop的线程上运行.主线程自动有一个运行循环,但是在GCD和NSOperation线程上调用的方法需要显式创建runloop.实际上,您可能不需要NSURLConnection在后台线程上运行.下载操作不会阻止主线程.如果您决定NSURLConnection在运行循环上运行,最简单的方法是创建一个NSOperation子类并在其中创建运行循环-main.