回答:
oneway
分散オブジェクトAPIとともに使用されます。これにより、異なるスレッドまたはアプリケーション間でObjective-Cオブジェクトを使用できます。これは、メソッドが戻るまで呼び出しスレッドをブロックしてはならないことをシステムに伝えます。これがないと、メソッドの戻り値の型が無効であっても、呼び出し元はブロックします。明らかに、それはvoid以外では決して使用されません。そうすると、メソッドが何かを返すことを意味しますが、呼び出し元はそれを取得しません。
分散オブジェクトの詳細については、Cocoa Conceptual DistrObjectsを参照してください。
Appleのドキュメントによると、一方向は分散オブジェクトにのみ使用されます(マルチスレッドには使用されません)。
一方向修飾子は、オブジェクトがリモートの場合にのみ使用されます。この場合、リリースの呼び出しは非同期に戻ることができます(メソッドが終了する前に)。ネットワークでは、戻りメッセージを待つのにしばらく時間がかかることがあるため、理にかなっています。
releaseメソッドには戻り値がないため、非同期で実行できます。対照的に、retainとautoreleaseはIDを返すため、ネットワーク全体に戻りメッセージが転送されるのを待つ必要があります。
oneway
があります。キーワードを使用すると、呼び出されたメソッドの実行中にメッセージが呼び出し側のスレッドをブロックしない場合、呼び出されたメソッドが2番目のスレッドで実行されます。そのマルチタスクではありませんか(最も単純な形で)?これを使用して、いくつかの小さな操作を別のスレッドにすばやく(それほど労力をかけずに)切り離すことができますか?どうもありがとうございました。
- (oneway void) release
でしょうか。別のマシンやプロセスにはありません。
one way
メソッドへの定義は、 don't wait for the method to complete and return anything. block it if there is any n/w trafic or so.
意味がありますか?
oneway void
は、コーディングの際にときどき見られる美しい偶発的な比喩の1つで、この場合は死です。「反対側に何かがある場合は、教えないでください。」