いくつかのSOAP通信を処理するNSURLConnectionDelegateオブジェクトがあります。基本的に、いくつかのプロパティ値を設定してから、xmlリクエストを作成してサーバーに送信するメソッドを呼び出しています。オブジェクトはNSXMLParserDelegateでもあるため、サーバーからのxml応答を解析し、データを適切に処理できます。
オブジェクトを使用するとき、私は最初にいくつかのプロパティの値を設定しました。後の保持カウントはまだ1です。次に、最初のメソッドを呼び出します。それが楽しみの始まりです。カスタムメソッドまたはNSURLConnectionDelegateメソッドが呼び出されると、保持カウントが1増加します。NSXMLParserDelegateメソッドが呼び出されると、これは発生しません。すべての通信が終了し、オブジェクトの保持が終了したら、43をカウントします。オブジェクトを解放しても保持カウントは減少しないため、解放できないオブジェクトになります。その上、オブジェクトは期待どおりに機能します。
多くのコードがあり、メソッド内で実行していることがretainCountを増加させているようには見えないため、何が関連しているかはよくわかりません。言及する価値のある他の唯一のことは、これらのメソッドをバックグラウンドスレッドから呼び出しているが、メインスレッドで実行していることです。
[tEditor performSelectorOnMainThread:@selector(requestQueueList) withObject:nil waitUntilDone:YES];