0

我正在编写基于位置的应用程序,通过 API 获取当前/其他地方的 NSURLConnection 的天气信息。第一次我发送请求它的工作成功。但是下次我想在 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]; 
4

1 回答 1

6

我假设您的意思是NSURLConnectionNSConnection不存在)。NSURLConnection只能使用一次。请参阅重用 NSURLConnection 的实例

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

于 2012-05-10T13:26:07.080 回答