Handles messages the receiver doesn’t recognize.
- iOS 2.0+
- macOS 10.0+
- tvOS 9.0+
- watchOS 2.0+
- Objective-C Runtime
A Selector that identifies a method not implemented or recognized by the receiver.
The runtime system invokes this method whenever an object receives an
a message it can’t respond to or forward. This method, in turn, raises an
NSInvalid, and generates an error message.
does messages are generally sent only by the runtime system. However, they can be used in program code to prevent a method from being inherited. For example, an
NSObject subclass might renounce the
init() method by re-implementing it to include a
does message as follows:
_cmd variable is a hidden argument passed to every method that is the current selector; in this example, it identifies the selector for the
copy method. This code prevents instances of the subclass from responding to
copy messages or superclasses from forwarding
responds(to:) will still report that the receiver has access to a
If you override this method, you must call
super or raise an
invalid exception at the end of your implementation. In other words, this method must not return normally; it must always result in an exception being thrown.