如何获取CGImage的加载和创建进度

问题描述

我尝试编写一些代码来创建 CGImage。 创建 CGImage 的简单示例如下:

func getCGImage(url:URL) -> CGImage? {
    do{
        let data = try Data(contentsOf: url)
        guard let cgImageSource = CGImageSourceCreateWithData(data as CFData,nil) else {
            return nil
        }
        guard let cgImage = CGImageSourceCreateImageAtIndex(cgImageSource,nil) else {
            return nil
        }
        return cgImage
    } catch let error {
        print(error.localizedDescription)
    }
    return nil
}

我想获取加载文件和创建 CGImage 的进度以通知用户,因为有时文件很大且网络速度较慢,因此此任务需要时间(例如,本地或网络附加存储,而不是 HTTP 访问)。 此外,我想将此任务带到后台线程以进行多个并发图像加载,以提高应用程序性能并且不阻止用户操作。

但我在执行此任务时遇到了困难,因为我在 Swift 的基础数据类 (NSData) 和 Core Graphics API 中找不到任何报告进度属性或方法。 如果您有任何想法来通知数据加载进度和实现多线程,非常感谢。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...