如何在运行时检查类方法是否存在?
从iOS5开始,UIKit可以使用自定义图像进行定制。我们有一个应用程序必须与 iOS 4 保持兼容,但如果用户使用 iOS 5,我们想要自定义一个滑块。
示例:
[[UISlider appearance] setMaximumTrackImage:maxImage forState:UIControlStateNormal];
在运行时检查此调用是否可以的安全方法是什么? respondsToSelector: 方法仅用于实例,但这里它本身就是一个类。
Since iOS5, UIKit can be customized with custom images. We have an app which must stay compatible with iOS 4, but if a user has iOS 5 we want to customize a slider.
Example:
[[UISlider appearance] setMaximumTrackImage:maxImage forState:UIControlStateNormal];
What's a safe way for checking at runtime if it's OK to do this call? The respondsToSelector: method is for instances only, but here it's a class itself.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用resolveClassMethod:,例如:
或者您可以使用respondsToSelector:,因为类也是Objective C中的对象。
You can use resolveClassMethod: for that, e.g.:
Or you can use respondsToSelector: since classes are also objects in Objective C.