Objective c 目标C类的调用类方法
AFNetworking有一个名为Objective c 目标C类的调用类方法,objective-c,class-method,objective-c-category,Objective C,Class Method,Objective C Category,AFNetworking有一个名为+af_sharedImageCache的类方法,我想从我自己的类别中访问它,但我想不出引用它的语法。在内部,它正在做[[self class]af\u sharedImageCache],但显然这对我不起作用 这是因为+af\u sharedImageCache是一种私有方法,未在UIImageView+AFNetworking.h上公开。不过,您可以使用Obj-C运行时调用它 if ([[self class] respondsToSelector:@sel
+af_sharedImageCache
的类方法,我想从我自己的类别中访问它,但我想不出引用它的语法。在内部,它正在做[[self class]af\u sharedImageCache]
,但显然这对我不起作用 这是因为+af\u sharedImageCache
是一种私有方法,未在UIImageView+AFNetworking.h
上公开。不过,您可以使用Obj-C运行时调用它
if ([[self class] respondsToSelector:@sel(af_sharedImageCache)]) {
NSCache *cache = [[self class] performSelector:@sel(af_sharedImageCache)];
}
但是,
AFImageCache
是一个私有类,您必须进行相同的攻击才能使用它的方法。如果我是你,我会创建自己的缓存,因为很明显,AFNetworking
不想让你弄乱它的缓存实现。这是因为+af\u sharedImageCache
是一个私有方法,没有在UIImageView+AFNetworking.h
上公开。不过,您可以使用Obj-C运行时调用它
if ([[self class] respondsToSelector:@sel(af_sharedImageCache)]) {
NSCache *cache = [[self class] performSelector:@sel(af_sharedImageCache)];
}
但是,
AFImageCache
是一个私有类,您必须进行相同的攻击才能使用它的方法。如果我是你,我会创建自己的缓存,因为很明显,AFNetworking
不希望你弄乱它的缓存实现。无论如何,我现在倾向于这样做。它实际上只是一个键入url的NSDictionary
。不太复杂。它不是一个NSDictionary
,它是一个NSCache
,其行为类似于NSDictionary
,但在需要时会逐出对象以释放内存。你可以在电视上读到更多关于它的内容。不管怎样,我现在倾向于这样。它实际上只是一个键入url的NSDictionary
。不太复杂。它不是一个NSDictionary
,它是一个NSCache
,其行为类似于NSDictionary
,但在需要时会逐出对象以释放内存。你可以在网上了解更多。