从 Zip 存档中提取图像

Extract Images from Zip Archive

我的出发点:

我从 API 获得了一个包含一些压缩图像的 zip 存档。我想在幻灯片中显示图片。

问题:

在我从 URLSession.shared.dataTask 成功下载 Data 的 zip 存档并使用 let decompressedData = try (data as NSData) .decompressed (using: .zlib) 解压缩后,我没有进一步的。

我知道我可以使用 UIImage(data: data) 显示来自数据的图像。

但是如何从解压后的数据中获取图像的单独数据呢?

提前谢谢你, 卢卡斯

PS: 如果我没有解释清楚或者你需要进一步的细节,请问

没关系,我自己找到了解决方案:

guard let archive = Archive(data: data, accessMode: .read) else {
    return
}

for entry in archive {
    
    var extractedData: Data = Data([])
    
    do {
        _ = try archive.extract(entry) { extractedData.append([=10=]) }
        
        if let image = UIImage(data: extractedData) {
            self.images.append(image)
        }
    } catch {
        print(error.localizedDescription)
    }
}

此功能需要 Zip Foundation。感谢@jn-pdx 指出了正确的方向。经过一点点挖掘后,我找到了一种创建带有内存数据的 Archive 的方法。