1

我正在使用UIImageView+AFNetworking:setImageWithURLRequest将图像加载到表格视图单元格中。它工作得很好,我尝试AFNetworkActivityIndicatorManager在下面的示例中使用在图像加载时显示活动指示器。

[[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];
  }
];

我遇到的问题是当快速滚动表格视图时,AFNetworking 会取消某些请求并且AFNetworkActivityIndicatorManager永远不会减少。取消请求确实可以保持快速,并且似乎是设计使然:

“例如,由于表格视图单元格被回收,设置新的图像 URL 将自动取消先前的请求。” https://github.com/AFNetworking/AFNetworking/wiki/Introduction-to-AFNetworking

有没有办法检测取消,以便我可以减少AFNetworkActivityIndicatorManager或有更好的方法来确保请求和活动指示器保持同步?

谢谢!

4

1 回答 1

12

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

AFNetworkActivityIndicatorManager.sharedManager.enabled = YES;

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

于 2012-10-23T22:48:29.663 回答