目标c-NSData如何在多线程中写入文件



嗨,我在多线程中将nsdata保存到文件时遇到问题。

在我使用的主线程中:

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

和在下载图像方法:

- (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的问题。这条路没有问题。

有人能帮我吗?谢谢

好的,我知道这是documentDirectory的问题。

我获取documentDirectory并将路径保存在一个外部变量中。问题是,当我从NSFileManager获得该路径时,我没有使用retain。并且我添加了保留来解决这个问题。

相关内容

  • 没有找到相关文章

最新更新