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