无法自动取消网址连接,因此以下是我的操作方法:
-(void)viewDidDisappear:(BOOL)animated
{
[super viewDidDisappear:animated];
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}
是的,我知道它实际上并没有取消请求,它只是隐藏了状态栏中的网络指示器,并且请求仍然在后台某处。
现在它可行,但苹果安全吗? Apple会喜欢它,还是会拒绝我的应用程序呢?
答案 0 :(得分:0)
您的应用不会被拒绝。您可以取消请求,请参阅此答案Creating and canceling an NSURLConnection。如果您使用的是ASIHTTPRequest
,请将其保留并在[request cancel];
willDissapear:animated:
答案 1 :(得分:0)
您应该将URLRequests卸载到单独的类中。这被称为MVC。您可以将NetworkActivityIndicator设置为在该类中设置动画或停止,并且该类可以在幕后运行,您不必担心让ViewController负责指示器。
优良作法是让用户了解正在发生的事情,并且网络活动反馈很好看,特别是如果我正在等待某些事情发生。