ios - AFNetworkActivityIndi​​catorManager 不会递减,因为表格单元格回收取消了图像请求

标签 ios afnetworking

我正在使用 UIImageView+AFNetworking:setImageWithURLRequest 将图像加载到表格 View 单元格中。它运行良好,我尝试使用 AFNetworkActivityIndi​​catorManager 如下例所示,在加载图像时显示事件指示器。

[[AFNetworkActivityIndicatorManager sharedManager] incrementActivityCount]; 
[imageView setImageWithURLRequest:request placeholderImage:[UIImage imageNamed:placeholder]
  success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
    [[AFNetworkActivityIndicatorManager sharedManager] decrementActivityCount];
  } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error) {
    [[AFNetworkActivityIndicatorManager sharedManager] decrementActivityCount];
  }
];

我遇到的问题是当快速滚动 TableView 时 AFNetworking 取消了某些请求并且 AFNetworkActivityIndi​​catorManager 永远不会减少。取消请求确实让事情变快了,而且似乎是设计使然:

"As table view cells are recycled, for instance, setting a new image URL will automatically cancel the previous request." https://github.com/AFNetworking/AFNetworking/wiki/Introduction-to-AFNetworking

有没有一种方法可以检测取消以便我可以递减 AFNetworkActivityIndi​​catorManager 或者是否有更好的方法来确保请求和事件指示器保持同步?

谢谢!

最佳答案

你不需要这样做,你需要做的就是调用:

AFNetworkActivityIndicatorManager.sharedManager.enabled = YES;

在您的 AppDelegate application:didFinishLaunchingWithOptions: 中,然后 AFNetworking 负责在网络连接开始和停止时隐藏和显示指示器。

关于ios - AFNetworkActivityIndi​​catorManager 不会递减,因为表格单元格回收取消了图像请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12132814/

相关文章:

iphone - 应用程序随机接收EXC_CRASH(SIGABRT)

ios - 可靠地按顺序发送 AFNetworking 请求

ios - 打印追加结构(swift 4)

objective-c - 将 AFIncrementalStore 与 WebSockets 应用程序结合使用

swift - Swift 中的 AFNetworkReachabilityManager

ios - 使用 NSPredicates 过滤 NSMutableArray

ios - UIPickerView 作为 UITextView swift 的输入 View

iOS 框架构建 : what is the best practice to link with third-party libraries?

ios - 无法在iOS应用程序中使用AFNetworking

ios - AFNetworking 和 POST 请求