如何在运行时检查类方法是否存在?

发布于 2025-01-04 15:20:16 字数 279 浏览 0 评论 0原文

从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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

氛圍 2025-01-11 15:20:16

您可以使用resolveClassMethod:,例如:

[MYClass resolveClassMethod: @selector(trololo)];

或者您可以使用respondsToSelector:,因为类也是Objective C中的对象。

You can use resolveClassMethod: for that, e.g.:

[MYClass resolveClassMethod: @selector(trololo)];

Or you can use respondsToSelector: since classes are also objects in Objective C.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文