0

私が得た回答によると、Objective C でのメッセージの送信は非同期ではありません Objective C でのメッセージの送信は実際には非同期ですか?

私の次の質問は、Objective C (同じアプリケーション内) で実際にメッセージを非同期に送信する方法です (スレッドのような複雑なものに頼ることなく) 可能ですか?

4

3 に答える 3

1

ドキュメントセットにあるAppleの「同時実行プログラミングガイド」を確認してください。スレッド、操作キュー、ディスパッチキューなどのオプションがあります。それは大きなテーマです。

于 2012-04-15T15:50:48.650 に答える
1

Apple フレームワークを使用して実際の非同期メソッド呼び出しを行いたい場合は、GCD を参照してください。より正確にはdispatch_async.

GCD は iOS と OSX の両方で利用でき、Apple は次に何が起こるかを知っているため、この「asyncn API」を使用すると、更新の非互換性を最小限に抑えることができます。

良い読書;)

編集:わかりました、本当にスレッドが必要ない場合は、呼び出しているメソッドを として宣言できます(oneway void)。オーバーライド中に見つけましたrelease

これが何をするかを説明するSOの回答です:https://stackoverflow.com/a/5495195/700317

お役に立てれば。

于 2012-04-15T15:53:35.423 に答える
1

メインスレッドから何かを起こそうとしていると仮定すると、それを処理する方法はたくさんあります。どちらを使用するかは、何をしているかによって異なります。まず、次のApple ドキュメントを確認して ください。 /developer.apple.com/library/mac/#documentation/General/Conceptual/ConcurrencyProgrammingGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008091 https://developer.apple.com/library/mac/# documentation/Cocoa/Conceptual/Multithreading/Introduction/Introduction.html#//apple_ref/doc/uid/10000057i

于 2012-04-15T15:55:13.737 に答える