2012-05-13 12 views
0

次の問題が発生する1つのボタンに触れたときに1つのビューを作成しています。ビューが作成されて読み込まれると、私はASIFormDataRequestと2つのリクエストを行い、1つはImageをダウンロードし、もう1つはテキストを取得します。ビューが見つからないため、ビューを解放したときにデリゲートがクラッシュする

ボタンバックを押すとビューがスーパービューから削除されますが、リクエストコールバックが来ていてもクラッシュしていないので、ビューが表示されないので、頭痛が発生します。どのようにして解決することができますか?

クラッシュがコードの次のラインにある

クラス:ASIHTTPRequest.m

BOOL dataWillBeHandledExternally = NO; 
    **if ([[self delegate] respondsToSelector:[self didReceiveDataSelector]]) {** 
     dataWillBeHandledExternally = YES; 
    } 

付:スレッド6:EXC_BAD_ACCES(コード= 1、アドレス= 0x30047dbc)

私を悩ましている地獄にしてください。 から::http://allseeing-i.com/ASIHTTPRequest/How-to-use#cancelling_an_asychronous_request

// Cancels an asynchronous request, clearing all delegates and blocks first 
[request clearDelegatesAndCancel]; 

答えて

2

は、あなたは、あなたのビューを開くときに、保留中のASIHTTPRequestをキャンセルすることを確認します。以下はASIHTTPRequest.mでできることです。

@try { 
     if ([[self delegate] respondsToSelector:[self didReceiveDataSelector]]) { 
      dataWillBeHandledExternally = YES; 
     } 
    } 
    @catch (NSException *exception) { 
     dataWillBeHandledExternally = NO; 
    } 
+0

私の神は本当にありがとうございます。私の問題を解決してくれてありがとう。 – NTTake

1

あなたはそれのためにトライキャッチを使用することができます

関連する問題