How does Objective-C runtime implement message forwarding chain?

Updated May 17, 2026

Short answer

Unresolved messages go through dynamic resolution, forwarding target, and full invocation forwarding.

Deep explanation

When objc_msgSend fails, runtime triggers 3-step fallback: (1) resolveInstanceMethod, (2) forwardingTargetForSelector, (3) methodSignatureForSelector + forwardInvocation. This allows proxy behavior and dynamic dispatch systems.

Unlock with a Pro subscription to view this section.

View pricing

Real-world example

No real-world example available yet.

Unlock with a Pro subscription to view this section.

Upgrade to Pro

Common mistakes

No common mistakes listed yet.

Unlock with a Pro subscription to view this section.

Upgrade to Pro

Follow-up questions

No follow-up questions available yet.

Unlock with a Pro subscription to view this section.

Upgrade to Pro

More Objective-C interview questions

View all →