gpt4 book ai didi

iOS : What is the rule to use the Activity Indicator based on network connection?

转载 作者:行者123 更新时间:2023-12-01 17:57:37 24 4
gpt4 key购买 nike

在开发 iPhone 应用程序之前,我认为每当 iPhone 进行网络访问时,它都会启动 Activity Indicator。
现在我正在学习制作应用程序,我明白事实并非如此。网络事件指示器只有在我们决定让它出现时才会出现,即使根本没有网络。

如果我错了就阻止我。

如果我不是,有没有办法确保我的应用程序正在使用网络?

我正在做一个基于 Evernote SDK 的应用程序,当我启动 Evernote 创建时,我没有使用任何 NSURLConnection 或类似的东西,我无法确定它是在下载还是上传东西。我应该什么时候启动事件指示器?我应该什么时候停止它?

有规则吗?有标准方法可以知道吗?

谢谢

最佳答案

与其尝试“确保您的应用程序是否使用网络”,不如将显示指示器的行为与操作联系起来。即,当你开始一个网络操作时,你显示它,当调用网络操作的完成或错误回调时,你隐藏它。当然,如果您正在执行多个并行操作,那么您需要计算事件操作的数量。像这样的东西:

int nNetworkOps = 0;

- (void)startNetworkingOperation
{
nNetworkOps++;
[[UIApplication sharedApplication] setNetworkActivityIndicatorEnabled:YES];

[NSURLConnection sendAsynchronousRequest:rq queue:q completionHandler:^(NSURLResponse *resp, NSData *d, NSError *e) {
[self anOpHasFinished];
}];
}

- (void)anOpHasFinished
{
if (--nNetworkOps == 0) {
// hide the activity indicator
// You have to do this on the main thread
// (left to you as an exercise)
}
}

关于iOS : What is the rule to use the Activity Indicator based on network connection?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14538900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com