我的场景的快速解释:我有一个iOS应用程序,可以使用不同线程同时执行大量网络调用。在我的iOS应用程序中,我想在发生任何网络事件时显示内置的(在状态栏上)网络事件指示器。所以我所做的是在任何网络调用之前启动事件指示器,然后在该网络调用出错或成功完成后停止它。发生的事情(显然)是,一旦一个网络事件操作成功(或错误)完成,它就会删除网络事件指示器,即使我知道其他网络事件正在发生。所以我的解决方案是创建一个静态变量(因为有很多类执行网络事件),它跟踪当前正在执行的网络请求数量(每次启动时递增此静态变量,然后在它们启动时递减此静态变量完成(成功或失败),仅当此计数器达到0时才会关闭网络事件指示