前回まではメソッドの実体、とくにMehtod、SEL、IMPといったメソッドの構成要素を調べて来た。いよいよ、今回からメッセージ送信の実体に迫りたい。まずは、メッセージ送信を行っているランタイムAPIからだ。 objc_msgSend Objective-Cにおいてメッセージ送信とは、最も実装よりの観点から見ると、つまるところあるラインタイムAPIを呼び出す事になる。この連載で、前回までの10回ぐらいを費やしてクラスやメソッドの実装を説明してきたが、その目的はこのAPIを理解するため、とも言える。その関数は、objc_msgSendだ。プロトタイプ宣言は、objc-runtime.hにある。 objc-runtime.h OBJC_EXPORT id objc_msgSend(id self, SEL op, ...); 可変長引数を取る関数で、第一引数はメッセージを送る先のオブジェクト、