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 根据系统条件允许的正确并发队列数量。
为什么要限制它?
这个很棒的 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 根据系统条件允许的正确并发队列数量。
为什么要限制它?