簡単なテスト (スタブなど) のために、いくつかの Objective-C ランタイム メソッドのラッパー クラスを作成したいと考えています。また、Objective-C メソッドから C 関数への可変引数の受け渡しをどのように処理するかを知りたいです。
たとえば、C 関数を次の関数シグネチャでラップしたいとします。
id objc_msgSend(id theReceiver, SEL theSelector, ...)
Objective-C メソッドに「...」演算子を使用できることは理解していますが、これを C 関数に渡すにはどうすればよいですか?
- (id)msgSend:(id)theReceiver selector:(SEL)theSelector, ...
{
return objc_msgSend(theReceiver, theSelector, ...) // <-- how to pass variable arguments?
}