如何在运行时检查类方法是否存在?
问题描述:
从iOS5开始,可以使用自定义图像对UIKit进行自定义。我们有一个应用程序必须与iOS 4保持兼容,但如果用户拥有iOS 5,我们想要自定义滑块。如何在运行时检查类方法是否存在?
例子:
[[UISlider appearance] setMaximumTrackImage:maxImage forState:UIControlStateNormal];
什么是在运行时检查是否确定要做到这一点调用一个安全的方式? respondsToSelector:方法仅用于实例,但在这里它是一个类本身。
答
可以使用resolveClassMethod:对于这一点,如:
[MYClass resolveClassMethod: @selector(trololo)];
或者你可以使用respondsToSelector:由于类也是对象在目标C.
+3
“trololo”的确,作为“resolveClassMethod:”的默认实现返回“NO”。 – NeoNacho 2013-01-16 12:25:23
检查了这一点: HTTP:/ /stackoverflow.com/questions/1135366/class-method-equivalent-of-respondstoselector – Stavash 2012-02-10 19:42:44