UIImageView+AFNetworking maxConcurrentOperationCount

UIImageView+AFNetworking maxConcurrentOperationCount

这个很棒的 UIImageView 扩展有 af_sharedImageRequestOperationQueue,其中最大并发数设置为

_af_sharedImageRequestOperationQueue.maxConcurrentOperationCount = NSOperationQueueDefaultMaxConcurrentOperationCount;

如何访问此私有字段并为 maxConcurrentOperationCount 设置自定义值? (不想直接在CocoaPods下编辑文件)

UPD:谢谢 GeneratorOfOne,看起来对我来说是最好的解决方案。但是,我决定使用 SDWebImage,因为它提供开箱即用的缓存,并允许在一行代码中设置 maxConcurrentOperationCount

这是一个具有静态 NSOperationQueue 的私有方法。您可以直接去戳代码,这不利于更改某些库的现有代码。我建议您创建一个新的 UIImageView 类别,您可以在其中公开此方法,然后可以在其上设置 maxConcurrentOperationCount。

喜欢,

@interface UIImageView(MyExtension)
  + (NSOperationQueue *)af_sharedImageRequestOperationQueue;
@end

@implementation UIImageView(MyExtension)
  + (void)load {
     NSOperationQueue *queue = [self af_sharedImageRequestOperationQueue];
    queue.maxConcurrentOperationCount = 5;
  }
@end

然后,您现在可以在 class 中包含扩展并设置其 maxConcurrentOperationCount。

如 NSOperationQueueDefaultMaxConcurrentOperationCount 定义中所述,return 根据系统条件允许的正确并发队列数量。

为什么要限制它?