任何人都可以告诉我NotRecognizeSelect _cmd会做什么
- (NSDictionary*)Event:(EventBase*)eventBase
{
[self doesNotRecognizeSelector:_cmd];
return nil;
}
[self doesNotRecognizeSelect:_cmd];
没有自我方法调用但是它的调用,任何人都可以了解_cmd到doesNotRecognizeSelect
答案 0 :(得分:0)
- (void)doesNotRecognizeSelector:(SEL)aSelector
一个_cmd
的选择器它声明该方法未被接收者实现或识别。
只要对象收到无法响应或转发的aSelector消息,运行时系统就会调用此方法。反过来,此方法会引发NSInvalidArgumentException,并生成错误消息。
- (id)copy
{
[self doesNotRecognizeSelector:_cmd];
}
_cmd变量是传递给当前选择器的每个方法的隐藏参数;在此示例中,它标识了复制方法的选择器。此代码阻止子类的实例响应转发复制消息的复制消息或超类 - 尽管respondsToSelector:仍将报告接收者有权访问复制方法。