在ios上使用zlib时出错
这是我用来读取压缩资源文件并将解压缩数据写入documents目录中文件的代码:在ios上使用zlib时出错,ios,zlib,Ios,Zlib,这是我用来读取压缩资源文件并将解压缩数据写入documents目录中文件的代码: - (void)setupPFile { dispatch_async(dispatch_get_global_queue(0, 0), ^{ NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
- (void)setupPFile
{
dispatch_async(dispatch_get_global_queue(0, 0), ^{
NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString* passwordsFile = [documentsPath stringByAppendingPathComponent:@"p.txt"];
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:passwordsFile];
if (!fileExists) {
NSString *resourceDictPass = DICTIONARY_FILE;
NSString *resourcePath = [[NSBundle mainBundle] pathForResource:resourceDictPass ofType:@"gz"];
NSData *fileCompressedData= [NSData dataWithContentsOfFile:resourcePath];
NSError *error = nil;
[fileCompressedData writeInflatedToFile:passwordsFile error:&error];
if (error) {
NSLog(@"error uncompressing passwords file");
return;
}
}
});
}
这是我得到的错误:
Printing description of error:
Error Domain=se.bitba.ZlibErrorDomain Code=2 "The operation couldn’t be completed. (se.bitba.ZlibErrorDomain error 2.)"
我使用的是我在这里推荐的NSData+zlib类别。
如何调试此错误?查看源代码并查看错误产生的位置。在writeInflatedToFileSo中,找出发生了什么,以及错误产生的原因。我如何否决您的意见?大约95%的编程是“找出发生了什么”。如果你觉得自己做不到这一点,你应该找另一份工作。