使用respondsToSelector:来发现对象是否响应消息
Posted 小爷的爷
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用respondsToSelector:来发现对象是否响应消息相关的知识,希望对你有一定的参考价值。
发现对象是否响应消息
要发现一个对象是否响应一则消息,请在该对象上调用 respondsToSelector:
方法。应用程序代码通常验证一个对象响应一则消息后,才将消息发送给该对象。
if ([item respondsToSelector:@selector(setState:)]){ |
[item setState:[self.arcView.font isBold] ?NSOnState :NSOffState]; |
} |
respondsToSelector:
方法将选择器视为其参数。选择器是一种 Objective-C 数据类型,用于方法的运行时标识符 (runtime identifiers);您使用 @selector
编译器指令指定选择器。在您的代码中,评估此方法返回的 Boolean 值,并继续相应的操作。
要识别对象响应的消息,调用 respondsToSelector:
通常比评估类的类型更有用。例如,一个类的较新版本可能实现以前版本没有的方法。
以上是关于使用respondsToSelector:来发现对象是否响应消息的主要内容,如果未能解决你的问题,请参考以下文章
ViewController respondsToSelector:]: 消息发送到释放的实例
无法在 Mac 上使用 ARC 使用 respondsToSelector
respondsToSelector和 instancesRespondToSelector的理解