これは可能ですか?
具体的な例を作るために、次のマクロを考えてみましょう:
define pos
po ([self $arg0])
end
したがって、pos テキストを入力すると、po [self text] に変換されます。しかし、複数の引数を指定すると失敗します。たとえば、pos textLabel テキストは、目的の po [[self textLabel]text] ではなく、po [self textLabel] に変換されます。
別の例として、3 つのコマンドのように
po someIvar_
po [self someMethod]
po [[self someMethod]someOtherMethod]
参照されている 3 つのオブジェクトの説明を出力します。整数に対して同じことを行うマクロ pi を定義するとよいでしょう。つまり、
pi [self someMethod]
呼び出しと同じです
print (int)[self someMethod],
同様に
pi [[self someMethod]someOtherMethod].