2009-07-16 8 views
1

ここは自分のコードです。複数のダウンロードが同じtime.Isで、このメソッドのスレッドセーフを終了するとき複数のファイルが同時に「ファイルに書き込む」ときにアプリケーションがクラッシュする

- (void) connectionDidFinishLoading: (NSURLConnection *) connection 

{ 
    //Each connection has its own "downloadedData". 
    BOOL writeFlag = [downloadedData writeToFile: filePath atomically: YES]; 
} 

私は同じtime.Each接続で複数のNSURLConnectionsを持っては、1回のダウンロードitem.Appクラッシュに対応しますか?

それは言う:

_serverConnectionDiedNotification. Info -- notification=NSConcreteNotification 0x11d90470{name = AVController_ServerConnectionDiedNotification; object = <AVController: 0x11d855a0>}, 
AVController = <AVController: 0x11d855a0>,currentTime = 0.00 

Program received signal: “0”. 
warning: check_safe_call: could not restore current frame 

THANKS!

答えて

1

OK、私は自分自身を把握しました。ダウンロードしたデータのほかに、いくつかの配列と辞書が各一意の接続でペアになっています。私はそれらのコレクションを十分に注意深く世話しなかったようです。 私はこの混乱をクリアすると、泥、問題は消えてしまった!

1

ダウンロードしたデータが異なるリクエスト間で共有されていないと仮定しますか?それはおそらく良い考えではないだろうから。

httpリクエストのニーズに応じてASI-HTTPRequestライブラリを使用します。非同期リクエストなどの操作は簡単です。それが役に立つかもしれません。

+0

いいえ、各接続には独自の "downloadedData"があります。ただし、ASI-HTTPRequestライブラリのヒントはありがたいです。 –

関連する問題