这个令人敬畏的UIImageView
扩展程序包含af_sharedImageRequestOperationQueue
,其中最大并发数设置为
_af_sharedImageRequestOperationQueue.maxConcurrentOperationCount = NSOperationQueueDefaultMaxConcurrentOperationCount;
如何访问此私有字段并为maxConcurrentOperationCount
设置自定义值? (我不想直接在CocoaPods下编辑文件)
UPD:感谢GeneratorOfOne,对我来说看起来是最好的解决方案。但是,我决定使用SDWebImage,因为它提供了开箱即用的缓存,并允许在一行代码中设置maxConcurrentOperationCount
。
答案 0 :(得分:2)
这是一个具有静态NSOperationQueue的私有方法。你可以直接去捅代码,这对改变一些librarues的现有代码是不利的。我建议你创建一个新的UIImageView类,你可以在其中公开这个方法然后你就可以设置maxConcurrentOperationCount。
像,
@interface UIImageView(MyExtension)
+ (NSOperationQueue *)af_sharedImageRequestOperationQueue;
@end
@implementation UIImageView(MyExtension)
+ (void)load {
NSOperationQueue *queue = [self af_sharedImageRequestOperationQueue];
queue.maxConcurrentOperationCount = 5;
}
@end
然后,您现在可以在类中包含扩展名并设置其maxConcurrentOperationCount。
答案 1 :(得分:0)
如定义中所述,NSOperationQueueDefaultMaxConcurrentOperationCount用于根据系统条件返回允许的正确并发队列数。
你为什么要限制它?