Instance Method インスタンスメソッド

retainArguments

If the receiver hasn’t already done so, retains the target and all object arguments of the receiver and copies all of its C-string arguments and blocks. If a returnvalue has been set, this is also retained or copied. レシーバがまだそうし終わらないならば、ターゲットとレシーバの全てのオブジェクト引数を保有して、それのC文字列引数とブロックをコピーしてください。戻り値が設定されていないならば、これはまた保有またはコピーされます。

Declaration 宣言

- (void)retainArguments;

Discussion 議論

Before this method is invoked, argumentsRetained returns NO; after, it returns YES. このメソッドが発動される前に、argumentsRetainedNOを返します;後では、それはYESを返します。

For efficiency, newly created NSInvocation objects don’t retain or copy their arguments, nor do they retain their targets, copy C strings, or copy any associated blocks. You should instruct an NSInvocation object to retain its arguments if you intend to cache it, because the arguments may otherwise be released before the invocation is invoked. NSTimer objects always instruct their invocations to retain their arguments, for example, because there’s usually a delay before a timer fires. 効率のために、新しく作成されたNSInvocationオブジェクトはそれらの引数を保持またはコピーしませんし、それらはそれらのターケットの保持、C文字列のコピー、またはあらゆる結び付けられたブロックのコピーもしません。あなたは、NSInvocationオブジェクトにそれの引数を保持するよう指示すべきです、もしあなたがそれをキャッシュするつもりならば、なぜなら引数はそうしなければ解放されるかもしれないからです、その発動が発動される前に。NSTimerオブジェクトは、常にそれらの発動がそれらの引数を保持するよう指示します、例えば、あるタイマーが発火する前にたいてい遅延があるからです。

See Also 参照

Configuring an Invocation Object 発動オブジェクトを構成設定する