2011-06-28 3 views
0

こんにちは私はマルチスレッドでファイルにnsdataを保存することに問題があります。NSDataはマルチスレッドでどのように書き込まれますか?

[NSThread detachNewThreadSelector:@selector(DownloadImage) toTarget:self withObject:nil]; 

そしてDownloadImage方法では:

- (void)ThreadDownloadThumbImage 
{ 
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 
    [loadThumbLock lock]; 
    .....//I get the NSData for my image here 
    [data writeToFile:path atomically:YES]; 
    [loadThumbLock unlock]; 
    [pool release]; 
} 

それから私は常に使用データWRITETOFILEながらEXC_BAD_ACCESS例外を取得し、私が使用し、メインスレッドで

。 imageWithDataを使用してUIImageViewで表示できるので、データは既にダウンロードされています。このスレッドでwriteToFileに問題があると思います。 そのパスに問題はありません。

ありがとうございました!

+0

クラッシュログを送信してください。 –

答えて

0

私はそれがdocumentDirectoryの問題だと知っています。

私はdocumentDirectoryを取得し、パスをextern varに保存します。 問題はNSFileManagerからそのパスを取得したときにretainを使用しなかったことです。そして私はこの問題を解決するために残しました。

関連する問題