質問

私は現在、非同期に使用しています NSURLConnection いくつかと UIViews (すべてのビューが処理されます NSURLConnection 代表として)。私が抱えている問題は、ユーザーがビューを速く切り替えてデリゲートがなるときです NSZombie アプリがクラッシュします - つまり、NSURLCONNECTIONには生きている代表がもうありません。それで、最初の質問は、これを回避する方法があるかどうかです。

2番目の質問は単純です - nszombieを処理するにはどうすればよいですか?単純 if(myObject != nil).. まったく機能しません。

役に立ちましたか?

解決

必要がある キャンセル NSURLConnection 処分する前に、それはデリゲートです。あなたのnsurlconnectionへの参照を保持するだけです UIView それは代表者と電話として機能します [urlConnection cancel].

メッセージをリリースした後、そのポインターを使用し続ける場合は、ポインターをゼロに設定する必要があります。例として:

id myObject = [[SomeObject alloc] init];

/* Some code */

[myObject release];
myObject = nil;

/* Some more code */

if (myObject != nil) {
   [myObject doSomething];
}

ただし、メッセージを送信することは有効であることに注意してください nil したがって、メッセージの送信を安全にガードする必要はありません。単に効果がありません myObject == nil.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top