objective-c – 如何确定对象是否实现了特定方法?

我正在迭代包含许多不同类型对象的NSArray.有很多方法可以确定对象是什么类.但是,我无法找到一个好方法来确定对象是否可以实现特定的功能.我可以将它放在try-catch中,但即使我正在捕获错误,它仍会在控制台中输出错误消息.有一个更好的方法吗?

简单的例子:

@try {
    if ([element lowercaseString]) {
        //do something
    }
}
@catch (id theException) {
    // do something else
}
如建议的那样,您可以使用在NSObject上声明的 respondsToSelector:消息.提供的代码就像

if ([element respondsToSelector:@selector(lowercaseString)]) {
    // ... do work
}
相关文章
相关标签/搜索