在viewDidDisappear中将setNetworkActivityIndi​​catorVisible设置为NO

时间:2012-10-02 15:18:57

标签: iphone ios xcode cocoa-touch ipad

无法自动取消网址连接,因此以下是我的操作方法:

-(void)viewDidDisappear:(BOOL)animated
{
    [super viewDidDisappear:animated];
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
}

是的,我知道它实际上并没有取消请求,它只是隐藏了状态栏中的网络指示器,并且请求仍然在后台某处。

现在它可行,但苹果安全吗? Apple会喜欢它,还是会拒绝我的应用程序呢?

2 个答案:

答案 0 :(得分:0)

您的应用不会被拒绝。您可以取消请求,请参阅此答案Creating and canceling an NSURLConnection。如果您使用的是ASIHTTPRequest,请将其保留并在[request cancel];

中致电willDissapear:animated:

答案 1 :(得分:0)

您应该将URLRequests卸载到单独的类中。这被称为MVC。您可以将NetworkActivityIndi​​cator设置为在该类中设置动画或停止,并且该类可以在幕后运行,您不必担心让ViewController负责指示器。

优良作法是让用户了解正在发生的事情,并且网络活动反馈很好看,特别是如果我正在等待某些事情发生。