1

AFNetworking 有一个名为的类方法+ af_sharedImageCache,我想从我自己的类别中访问它,但我不知道引用它的语法。在内部它正在做[[self class] af_sharedImageCache],但显然这对我不起作用。:)

4

1 回答 1

1

那是因为+ af_sharedImageCache是私有方法,没有暴露在UIImageView+AFNetworking.h. 不过,您可以使用 Obj-C 运行时调用它。

if ([[self class] respondsToSelector:@sel(af_sharedImageCache)]) {
     NSCache *cache = [[self class] performSelector:@sel(af_sharedImageCache)];
}

但是,AFImageCache它是一个私有类,您必须执行相同的 hack 才能使用它的方法。如果我是你,我会创建自己的缓存,因为很明显AFNetworking不希望你弄乱它的缓存实现。

于 2013-09-14T19:36:07.087 回答