検索

ホームページ  >  に質問  >  本文

object-c - メインスレッドを使用したくない場合、GCDAsyncSocket の delegateQueue はコールバックをどのように処理すべきですか?

【問題】TcpのSocket処理にGCDAsyncSocketを使用しているのですが、メインプログラム内であれば結果のコールバックは普通に扱えるのですが、Socketの処理をライブラリにカプセル化し、Socketの初期化を完了させたいのです。情報は受信されて処理されますが、コールバックをトリガーする方法がわかりません。

[コード]
メインスレッドで直接処理する場合:

初期化

リーリー

接続接続

リーリー

現時点では、正常に接続された場合のコールバックを正常にトリガーできます

リーリー

しかし、上記のプロセスをライブラリに入れてメインプログラムから呼び出すと、didConnectToHost コールバックをトリガーできません

_socket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()]; このデリゲートと delegateQueue を理解していないためだと思います。

皆さん、ありがとう

阿神阿神2821日前507

全員に返信(0)返信します

応答なし
  • キャンセル返事