2011-03-08 11 views
0

私は5つのメニューを持つUITabBarを持っています。 5つのメニューのうち2つがviewWillAppearメソッドに新しいスレッドを生成します。このメソッドでは、バックグラウンドでWebサーバーにHTTPリクエストを送信します。 WebサーバーはXML形式のデータを返します。データを受け取った後、データを解析し、データをローカルのNSMutable配列に格納します。この部分は素晴らしいですが、問題は、新しいスレッドを生成するメニューからタブバーメニューの1つをクリックすると、アプリケーションがクラッシュすることです。私は新しいスレッドの部品を産み出した後、アプリケーションがクラッシュしないとコメントしました...この問題の原因は何ですか?目的C、Aタブバーとマルチスレッドに関する質問

答えて

0

ソースコードがないと、わかりにくいですが、スレッドが実行されている間にユーザーが何か違う操作をしたため、リリースされたデリゲートのバックグラウンドスレッドを返すときに同様の問題が発生しました。

+0

[self performSelectorInBackground:@セレクタ(getPosts)withObject:nil];私は各タップメニューのviewWillAppearメソッドでこのコードを使用します。 – codereviewanskquestions

+0

また、デリゲートがリリースしたことはどういう意味ですか? – codereviewanskquestions

+0

デリゲートがいくつかのビューコントローラですが、ビューを切り替えることによって解放され、クラッシュで終了する可能性がある、[delegate finshedLoading:posts]の呼び出しの終了時など、バックグラウンドスレッドが一部のデリゲートをコールバックしたときの意味です。 –

関連する問題