我想做的是在运行时将图像分配给 ui 元素(想想 Winamp 风格),但我不知道如何在不存储到磁盘的情况下从 zip 中读取。或者如何将每个图像分配给一个 ui 元素
我正在使用可可和目标 c 的 mac
我想做的是在运行时将图像分配给 ui 元素(想想 Winamp 风格),但我不知道如何在不存储到磁盘的情况下从 zip 中读取。或者如何将每个图像分配给一个 ui 元素
我正在使用可可和目标 c 的 mac
使用objective-c zip(iOS/Mac zlib 包装器)
然后你可以这样做:
ZipFile *unzipFile= [[ZipFile alloc] initWithFileName:@"test.zip" mode:ZipFileModeUnzip];
[unzipFile goToFirstFileInZip];
ZipReadStream *read= [unzipFile readCurrentFileInZip];
NSMutableData *data= [[NSMutableData alloc] initWithLength:256];
int bytesRead= [read readDataWithBuffer:data];
[read finishedReading];
zipzap版本:
ZZArchive* archive = [ZZArchive archiveWithContentsOfURL:[NSURL fileURLWithPath:@"test.zip"]];
NSData* data = [archive.entries[0] newDataWithError:nil];
或者,如果您正在寻找特定条目:
ZZArchive* archive = [ZZArchive archiveWithContentsOfURL:[NSURL fileURLWithPath:@"test.zip"]];
NSData* data = nil;
for (ZZArchiveEntry* entry in archive.entries)
if ([entry.fileName isEqualToString:@"test.txt"])
{
data = [entry newDataWithError:nil];
break;
}
扫描这样的文件非常理想。扫描仅使用 zip 中央目录,直到-[entry newDataWithError:]
.