嗨,我在多线程中将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。并且我添加了保留来解决这个问题。