Objective C类的调用类方法

时间:2013-09-14 19:28:11

标签: objective-c class-method objective-c-category

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

1 个答案:

答案 0 :(得分:1)

这是因为+ af_sharedImageCache是私有方法,而不是UIImageView+AFNetworking.h上公开的方法。但是,您可以使用Obj-C运行时调用它。

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

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