我正在初始化一个带有请求的 NSURLConnection 并且同时设置了 didFailWithError 和 didReceiveData 。
该应用程序将成功地使用这两种方法来解决我希望它使用它们的任何情况,但是如果您在应用程序中切换到离线模式,即使我不再需要它们,也会为我设置的任何委托调用 didFailWithError。
如果真正的用户失去了连接,我不希望执行这些方法。
-(void) RequestExample
{
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:someRequest delegate:self];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
{
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
[self NotifyObserversOfFailure];
}
-(void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
[self NotifyObserversOfSuccess];
}
有人建议检查这些方法中的错误代码,但这感觉不像是修复。我读过的其他地方是取消连接,但我会把它放在哪里,因为把它放在didReceiveData
方法中是行不通的。
谢谢你的帮助