ios - 使用 [id class] 作为指针

标签 ios class

我可能正在尝试做一些错误的事情,但这有助于简化我的代码。

我有一些类,具有相同的功能。 为了避免长 if, else if with isKindOfClass,我想做这样的事情:

[(([myClassVar class] *) myClassVar) myFunction];

如果 myClassVar 没有 myFunction,它可能会崩溃,但如果我执行 if, else if 方法,它不会崩溃,只会在最后一个 else 情况下写入错误。

有人知道怎么做吗?

提前致谢,
达米恩

编辑:
SamFisher 回答,我的代码是:

if( [myClassVar respondsToSelector:@selector(myFunction) )
    [myClassVar performSelector:@selector(myFunction)];

最佳答案

你为什么不使用 respondsToSelector: 然后使用 performSelector: ?

关于ios - 使用 [id class] 作为指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11562027/

相关文章:

java - 是否可以将整数从方法链接到类?

c++ - 连接 2 个 char* 会产生奇怪的结果

android - 我怎么 "Open the MainActivity class and add the corresponding method:"

ios - 更改 View Controller 时,新 Controller 出现,但几乎立即消失

ios - UITableViewDiffableDataSource 可以检测到更改的项目吗?

JQuery:addClass 不适用于具有多个类的元素。为什么?我很困惑!

objective-c - 无法将 'class' 用作 NSDictionary 中的键

Python继承 - 在子类中调用基类方法?

iphone - 加载到 UIScrollview 中的图像尺寸错误

ios - 在自定义UIview中设置UItableview的delegate和数据源