2012-04-25 18 views
0

他のメソッドから[self MethodName]を呼び出しているとき、そのメソッドが動作しています。requestFinishedメソッドでメソッドを呼び出す際にクラッシュしますか?

しかし、 "requestFinished"を呼び出すと、クラッシュします。

- (void)requestFinished:(ASIHTTPRequest *)request 
{ 

    [self MethodName]; 
} 

[ClassName MethodName] - 解放されたインスタンスに送信されたメッセージ。

提案があります。

お時間をいただきありがとうございます。

答えて

4

requestFinishedの非同期呼び出しが実行される前にオブジェクト(自己)が解放されます

オブジェクトの参照を長時間保持するかどうかを確認します。参照を保持せずにオブジェクトを作成すると、サイクルの最後にオブジェクトが解放され、後でrequestFinishedメソッドが呼び出されると、もう存在しない。

+0

あなたはチャンピオンです。あなたはこれを解決するために私が何をするのか教えてくれますか? – iDilip

+0

起動時に自分自身を保持してから終了するか、失敗した場合は、もう一度 – adali

+0

を解放するか、オブジェクトをビューコントローラやシングルトンのようなクラスのクラス変数にします。 – TheEye